Skip to content

Serveur mail sous Linux

Introduction

Ce tutoriel va vous apprendre comment installer un serveur mail complet avec un serveur de transport (SMTP), un serveur de boite aux lettres (IMAP et POP) et un Webmail pour y accéder par HTTP.

Cette documentation est basée sur celle du Wiki de Ubuntu-fr, disponible sous licence C.C.

I- Installation

Installez les paquets postfix courier-imap courier-pop****

apt install postfix courier-imap courier-pop

Répondez aux questions par « Site Internet », renseignez votre nom de domaine.

II- Configuration

Postfix

Le fichier de configuration de Postfix s'appelle main.cf, il se situe dans /etc/postfix :

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
#
#
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
#
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
#
# appending .domain is the MUA's job.
append_dot_mydomain = no
#
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
#
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
#
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
#
myhostname = mail.FF-IRC.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = FF-IRC.net, Final-Fantasy.FF-IRC.net,
localhost.FF-IRC.net, localhost
relayhost =
mynetworks = 127.0.0.0/8, 192.168.0.0/24
#mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Maildir

Commentons quelques points :

  • myhostname : c'est le nom de votre serveur mail, configuré dans les entrées MX, par défaut mail.domaine.net
  • mydestination : ceci est la concordance des domaines, remplacez Final-Fantasy par votre nom de machine, et FF-IRC.net par votre domaine
  • mynetworks : permet de donner l'accès au serveur SMTP, en plus des 2 exemples, rajoutez votre IP extérieure si votre serveur n'est pas sur le même réseau que votre PC
  • home_mailbox = Maildir/ : Ceci est important ! Nous choisissons le format Maildir en accord avec le serveur IMAP ! Vous ne pourrez pas recevoir vos mails par IMAP si cette ligne n'est pas ajoutée au fichier de configuration de Postfix !

Éditez le fichier /etc/procmailrc. (Attention le fichier n'existe pas forcement il faut peut être le créer)

MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
:0:
$DEFAULT

IMAP : courier-imap

Le fichier de configuration de courier-imap se situe dans /etc/courier et se nomme imapd : Seulement un point nous intéresse dans cette configuration : le MAILPATH (ou MAILDIRPATH), configurez-le comme suit :

MAILPATH=Maildir

Personnellement si je met le ~/, je me fais refouler a l'authentification, alors que tout se passe correctement sans le ~/, ca fonctionne.

Retournez ensuite dans votre ~ et tapez ceci :

maildirmake Maildir
maildirmake -f Sent Maildir
maildirmake -f Queue Maildir
maildirmake -f Drafts Maildir
maildirmake -f Trash Maildir

Ceci créera la boite mail Maildir/ dans votre ~, autrement dit, dans votre /home/login

III- Mise en application du Serveur de Mails

Mise en place de vos paramètres

Tout d'abord, installez mailutils :

apt install mailutils

Ceci va vous permettre de tester votre serveur de mails. Pour appliquer les changements que vous avez fait sur Postfix et IMAP, procédez comme ceci :

/etc/init.d/postfix restart
/etc/init.d/courier-imap restart
/etc/init.d/courier-authdaemon restart

Ensuite, nous allons tester la réception d'un mail, depuis l'INTERIEUR, autrement dit, en localhost :

mail Zic@FF-IRC.net
Cc:
Subject: Wiki de Ubuntu-fr
Je trouve votre article très intéressant et souhaiterais y contribuer.

Entre chaque question, appuyez sur [Entrée]. Quand vous aurez terminé de rédiger votre mail, tapez [Entrée] puis [CTRL]+[D] et votre message sera envoyé.

Configuration de votre client de messagerie

Les captures suivantes, sont basées sur le client de messagerie Thunderbird. Pourquoi, me direz-vous ? Tout simplement parce que Thunderbird est SEULEMENT un client mail et est donc plus léger.

Evolution, le client par défaut de Ubuntu, possède d'autre petites fonctionnalités comme le calendrier des événements etc... ce qui le rend plus "lourd".

IV- Autres serveurs pour compléter

Dans le même ordre d'idée, il est très simple de mettre en place un serveur POP avec le logiciel courier-pop.

Pour faire un serveur sécurisé en envoi et en réception, on remplacera :

  • postfix par postfix-tls.
  • Courier-pop par courier-pop-ssl
  • Courier-imap par courier-imap-ssl

Les certificats sont faits à l'installation des packages. Pour refaire ces certificats, utilisez la commande suivante :

mkimapdcert

ou

mkpopdcert

N'oubliez pas de redémarrer les serveurs.

Attention, si vous n'arrêtez ni ne supprimez les serveurs POP et IMAP non sécurisés, vos clients pourront toujours utiliser du mail non sécurisé !

V- Webmail

Un Webmail est un client de messagerie utilisant une interface Web au lieu d'utiliser un logiciel comme Thunderbird ou Outlook.

L'avantage est qu'il n'y a rien à configurer côté client, donc moins de pannes.

Les Webmail les plus connus sont Squirrelmail, Horde IMP, RoundCube (très abouti graphiquement), Zimbra (très bon également). Ces webmail sont basés sur l'architecture LAMP.

RoundCube

RoundCube est disponible en paquet Debian / Ubuntu :

apt install roundcube

Répondez Oui puis choisissez la base de données sqlite.

Allez dans le fichier /etc/apache2/conf.d/roundcube

Décommentez les lignes suivantes :

Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce2/www/
Alias /roundcube /var/lib/roundcube

Rechargez la configuration d'Apache :

/etc/init.d/apache2 restart