Je vais présenter ici comment j'ai monté mon serveur de mail complet et fonctionnel (IMAP et webmail) sous Debian (mais peut être adapté à d'autres distributions GNU/Linux). Je considère ici que la distribution GNU/Linux est déjà installée et fonctionnelle.
Postfix est un serveur de mail (MTA). Il a pour rôle de livrer les e-mails. Pour l'installer :
# apt-get install postfix
Lors de l'installation, il vous est proposé de configurer Postfix. Choisir “Site Internet” :
A l'étape suivant, mettez votre nom de domaine dans le champ :
Ensuite, dans le champ suivant, mettez votre nom d'utilisateur pour recevoir les mail destinés au root (généralement ce sont des mails envoyés par le système) :
Pour la suite, vous pouvez laisser les valeurs par défaut.
# dpkg-reconfigure postfix
Ou sinon en éditant le fichier /etc/postfix/main.cf :
# vim /etc/postfix/main.cf
Maintenant, on va tester si Postfix fonctionne correctement…
$ telnet localhost 25 EHLO MAIL FROM: <admin@mon-domaine.home> RCPT TO: <toto@mon-fai.fr> DATA Test mail. . QUIT
Courier-imap, comme son nom le suppose, est un serveur IMAP. Il a pour rôle de distribuer les e-mails aux clients (tels qu'Evolution, Thunderbird…). Pour utiliser IMAP au dessus de SSL (donc de manière sécuriée), il faut installer courier-imap-ssl (sinon installer seulement courier-imap) :
# apt-get install courier-imap-ssl
Pour utiliser courier-imap avec Postfix, il faut éditer le fichier /etc/postfix/main.cf :
# vim /etc/postfix/main.cf
Ajouter la ligne suivante à la fin du fichier :
home_mailbox = Maildir/
Ensuite, il faut configurer procmail pour rediriger les e-mails dans le home de l'utilisateur. Pour cela, créer dans le home de l'utilisateur le fichier ~/.procmailrc :
$ vim ~/.procmailrc
Ajouter dans le fichier les lignes suivantes :
MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/ :0: $DEFAULT
Enfin, toujours dans le home de l'utilisateur pour créer le dossier Maildir
$ maildirmake Maildir
Maintenant, vous pouvez tester si tout fonctionne bien avec votre client mail préféré (tel Evolution).
Fetchmail est un petit programme qui permet de récupérer ses mails dans différentes boites (par exemple, Gmail, Yahoo …). Pour l'installer :
# aptitude install fetchmail
Ensuite, créer le fichier ~/.fetchmailrc et pour chaque boite mail à récupérer, ajouter une ligne comme suite :
poll SERVERNAME protocol PROTOCOL username NAME password PASSWORD
Par exemple, pour récupérer les mails sur Gmail :
poll pop.gmail.com protocol POP3 username "username@gmail.com" password "mypassword"
Pour rediriger les mails vers procmail, ajouter à la fin du fichier :
mda "/usr/bin/procmail -Y -d %T"
Pour tester, il faut lancer fetchmail avec l'option k
fetchmail -kv
Si tout est bon, vous pouvez lancer fetchmail en démon :
fetchmail -d 120 -t 20
Spamassassin est un programme en Perl qui vérifie les mail pour détecter les éventuels spam.
Pour l'installer, faites :
# apt-get install spamassassin
Pour utiliser spamassassin avec procmail, ajouter les lignes suivantes dans le fichier ~/.procmailrc :
# Pipe the mail through spamassassin (replace 'spamassassin' with 'spamc' # if you use the spamc/spamd combination) # # The condition line ensures that only messages smaller than 250 kB # (250 * 1024 = 256000 bytes) are processed by SpamAssassin. Most spam # isn't bigger than a few k and working with big messages can bring # SpamAssassin to its knees. # # The lock file ensures that only 1 spamassassin invocation happens # at 1 time, to keep the load down. # :0fw: spamassassin.lock * < 256000 | spamassassin :0 * ^X-Spam-Status: Yes .Junk/
Ensuite, créer le dossier des courriers indésirables :
maildirmake ~/Maildir/.Junk