Installer un serveur de Mail

Dernière mise à jour : 03/08/2004

    Nous allons voir dans ce tutoriel comment installer un serveur de mail local avec des utilisateurs. Nous considérerons que vous avez un domaine appellé toto.org et qui peut envoyer et recevoir des emails entre l'intérieur et l'extérieur. Pour cette configuration, j'ai utilisé Debian sarge, mais comme d'habitude, il est sans doute possible de faire aussi simple avec d'autres distributions. Les outils utilisés ici seront : postfix pour le serveur de courrier électronique, courier pour le serveur pop3s/imaps et maildrop pour la partie reception des mails.

    Commençons donc par installer postfix apt-get install postfix. Il faut ensuite le paramétrer afin d'indiquer quelques paramètres expliqués dans le fichier de configuration ci-dessous. Editez donc votre /etc/postfix/main.cf et vérifiez que vous avez au moins ces lignes. Dans notre exemple, le serveur s'appelle facteur et son domaine toto.org. Une petite note sur la configuration : mynetworks est crucial pour le bon fonctionnement de postfix, autorisant les plages d'adresses mentionnées ci-dessous.

    Notez que j'autorise ici toto.org, localhost et titi.org comme domaines. Cela veut dire que postfix laissera passer tout mail venant de ces domaines vers l'extérieur. Le fichier /etc/postfix/virtual_maps contient des adresses de domaine virtuel (ici titi.org) et redirigeant vers un utilisateur réel de la machine. Il suffit donc de rentrer le domaine virtuel que l'on veut gérer et ajouter les mappings. Voici son contenu :

    Le fichier /etc/aliases est un fichier classique contenant des aliases pour délivrer un mail aux utilisateurs du domaine, voici un fichier minimal avec un utilisateur local du nom de frlinux (étonnant non ? ;) Notez que dans l'exemple ci-dessous, il est important d'avoir un utilisateur réel pour les emails root (vous vérifiez souvent vos emails en tant que root vous ?!?).

    Nous sommes à présent prêts à installer maildrop par un apt-get install maildrop, il suffit ensuite d'éditer le fichier de configuration /etc/maildroprc afin qu'il soit pour tout le système puis d'y mettre : DEFAULT="$HOME/Maildir". Postfix a en effet besoin d'un livreur de mails vers les utilisateurs, c'est ici la fonction de maildrop (comme son nom l'indique d'ailleurs). Il faut ensuite installer courier et créer le Maildir qui contiendra les nouveaux mails. Faites donc un apt-get install courier-base courier-imap-ssl courier-pop3-ssl. Debian se chargera tout seul d'installer le reste des paquets nécessaires. Editez ensuite le fichier /etc/courier/imapd.cnf pour y entrer vos paramètres de domaine :

    Puis effacez les certificats *.pem afin d'en recréer avec les bonnes informations. Lancez ensuite un dpkg-reconfigure courier-imap-ssl courier-pop3-ssl et jetez un oeil à vos nouveaux certificats. Dans les fichiers /etc/courier/imapd,pop3d, assurez vous que vous avez en fin cette variable : MAILDIRPATH=Maildir. Lancez ensuite les démons, par un : /etc/init.d/postfix restart et de même pour courier, courier-authdaemon et courier-imap-ssl. Vérifiez que tout est bien lancé par un netstat -an |grep 993 (c'est imap-ssl).

    Il vous faut ensuite créer le Maildir de l'utilisateur (frlinux dans mon exemple). Ainsi que créer un fichier permettant de filtrer les emails entrants avec maildrop. Pour cela, exécutez les commandes : suivantes :


    Il faut a présent créer un fichier /home/frlinux/.mailfilter qui contient les commandes ci-dessous. Pour ajouter le filtrage des spams, faîtes un apt-get install spamassassin. Si vous ne l'utilisez pas, commentez la ligne spamassassin dans le fichier mailfilter.

    Comme vous pouvez le constater, mon filtrage est brutal. S'il considère que c'est un spam, il va directement à la trape. J'ai testé cette config pendant un bon moment avant de décider de jeter les spams. Notez aussi la ligne logfile permettant de vérifier si les messages sont bien délivrés.

    Le paramétrage est à présent terminé, il ne vous reste plus qu'à tester des envois de messages vers vos utilisateurs et vous assurer qu'ils arrivent bien. Pour cela, consultez les fichiers suivants :

    Voilà pour le moment. Ce petit tutoriel devrait vous permettre de mettre en place un serveur de mail simple sous Linux. Pour une utilisation avancée (spam/antivirus/filtrage), consultez cet article.