Gérer son mail de façon simple sous Linux

Dernière mise à jour : 25/03/2006

    Cet article a pour but de vous initier √† un contr√īle rapide de votre mail sous Linux. Il n√©cessite quelques connaissances dans le domaine de la configuration de serveurs web. Je ne ferais donc que survoler les √©tapes de configuration avec les choses importantes √† changer. J'ai r√©alis√© cette configuration sur Gentoo Linux 1.4 et Debian mais c'est √©galement applicable sur tout autre syst√®me Linux. Nous allons donc installer postfix, maildrop, spamassassin et fetchmail. J'ai rajout√© dans la configuration postfix (premi√®re partie) un syst√®me anti-spam par interrogation de DNS, c'est relativement efficace, attention n√©anmoins √† ce que vous fa√ģtes. Enfin, postfix comporte deux lignes de configuration pour g√©rer le contenu et les en-t√™tes des messages. Apr√®s avoir ajout√© une section sur les antivirus, voici une mise √† jour pour g√©rer son mail sans postfix mais avec maildrop directement. J'ai √©cris un article sur l'installation d'un serveur de mail, consultez cet article en premier si vous manquez de notions.

    Installez en premier postfix (pour ceux ne voulant pas installer postfix mais g√©rer leurs mails directement par maildrop, rendez-vous √† l'installation de fetchmail directement), je trouve qu'il est toujours utile d'avoir un postfix install√© sur une machine, Postfix est un Agent de Transport de Mail (MTA en Anglais). Voici la configuration si vous poss√©dez un domaine que vous g√©rez vous m√™me. Editez alors : /etc/postfix/main.cf :

    Une petite explication rapide sur la ligne smtpd_clients_restrictions s'impose. Vous notez ici la pr√©sence d'une adresse sbl-xbl.spamhaus.org. Il s'av√®re que SpamHaus s'av√®re comme le meilleur RBL de la nouvelle ann√©e (j'utilisais CBL auparavant). SpamHaus utilise CBL plus d'autres r√®gles pour interdire √† des sites openrelay de se connecter √† votre serveur mail. Enfin, notez que ceux utilisant Postfix 2 doivent changer reject_maps_rbl par reject_rbl_client dans la syntaxe. Vous aurez sans doute not√© les deux lignes body_checks et header_checks. Elle vous permettent de filtrer le type de messages arrivant sur votre serveur postfix. Ainsi cr√©ez un fichier /etc/postfix/header_checks.cf et copiez ceci :

    Ceci ne repr√©sente bien s√Ľr qu'une partie des r√®gles possibles pour filtrer les spams et autres virus. Comme vous le voyez, il suffit d'indiquer le type de ligne √† consulter (titre, sujet ou originateur du message) puis de rejeter selon la r√®gle. Cr√©ez √† pr√©sent un fichier /etc/postfix/body_checks.cf puis copiez ce qui suit :

    Ici les filtrages sont faits sur le corps du message, vous filtrez tous attachements abominables et non libres. J'en profite ici pour √©galement filtrer sur le contenu et la codification des noms car les spams sont tr√®s intelligents. Notez la derni√®re ligne qui vous √©vitera quelques spams assez stupides.

    Pour ceux n'utilisant pas de domaine perso, c'est beaucoup plus simple, les seules lignes √† modifier sont :

    Les utilisateurs de distributions r√©centes appr√©cieront l'usage d'un antivirus. Je vous propose donc clamav. Celui-ci travaille tr√®s bien sur une Debian sarge. Pour les installer, fa√ģtes : apt-get install amavisd-new clamav clamavd-server puis √©ditez /etc/postifx/main.cf pour rajouter :

    Editez ensuite le fichier /etc/postifx/master.cf et ajouter :

    Enfin √©ditez /etc/amavis/amavisd.conf et modifiez les deux lignes suivantes. La premi√®re d√©finit votre domaine local et la seconde notifie un utilisateur de votre choix (genre postmaster ou root) de mails contenant des virus. J'ai choisi de garder les d√©fault donc personne de l'envoyeur ou du destinataire n'est notifi√© de la pr√©sence de virus, le mail est donc juste plac√© en quarantaine (dans /var/lib/amavis/ sous Debian) :


    Red√©marrez alors postfix pour prendre en compte les modifications (un simple reload suffit pour les versions qui supportent ceci). Nous allons alors installer SpamAssassin. Il vous suffit de l'installer et de d√©marrer un d√©mon. En effet, SpamAssassin vous permet de v√©rifier chacun des mails que vous recevez par le biais d'un ex√©cutable mais cela prends beaucoup de ressources selon le nombre de mails, alors qu'un d√©mon qui tourne en t√Ęche de fond fera ca tr√®s bien. Donc apr√®s avoir install√© votre SpamAssassin, il ne vous reste qu'√† d√©marrer le d√©mon :

    Passons √† pr√©sent √† l'installation de maildrop. Installez le √† partir des outils de votre distribution puis √©ditez le fichier de configuration. Attention, il est important de savoir si vous voulez faire un param√©trage local ou global. Le local n'affectera que votre utilisateur alors que le global affectera TOUS les utilisateurs. Editez le fichier /etc/maildrop pour une utilisation globale ou bien $HOME/.maildroprc pour une utilisation individuelle. Ensuite entrez (selon votre type de boite mail) :

    Pour g√©n√©rer une boite de type Maildir dans votre $HOME, je vous conseille courier qui se r√©v√®le d'excellente facture pour ce type d'op√©rations (certains pr√©f√®rent cyrus mais courrier est mon programme de choix depuis 3 ans). Installez-le donc et suivez la documentation pour plus d'infos. La commande pour cr√©er une boite Maildir est de faire : maildirmake $HOME/Maildir et vous voil√† avec une bo√ģte pr√™te √† recevoir votre correspondance.

    Passons √† pr√©sent √† fetchmail. Vous pouvez aussi utiliser getmail mais je l'ai √©cart√© car il semblait bien plus long √† acc√©der mon pop3. Cr√©ez alors un fichier $HOME/.fetchmailrc dans lequel vous pouvez taper :

    Ceux d√©sirant retirer leur mail directement sans utiliser postfix devront ajouter les lignes suivantes √† leur fetchmail (assurez vous que les chemins sont corrects). Attention, le param√©trage est pour un procmail :

    Ces deux lignes suffisent a dire √† fetchmail d'acc√©der votre fournisseur d'acc√®s en POP3 sur le serveur pop.acces.fr avec votre email et mot de passe et de passer le mail √† votre utilisateur_local. Changez ensuite les permissions de votre fichier par la commande chmod 0710 .fetchmailrc. Sans ce changement, il vous sera impossible de retirer des emails. Il vous suffit de recopier ces lignes √† l'infini dans le fichier pour consulter plusieurs comptes email. Il vous faut √† pr√©sent cr√©er un fichier de r√®gles qui sera utilis√© par maildrop pour filter vos emails avec SpamAssassin et les rediriger dans les bons r√©pertoires. Cr√©ez donc un dossier spam dans votre Maildir en passant par un client mail ou la commande maildirmake. Puis cr√©ez un fichier $HOME/.mailfilter dans lequel vous allez entrer ces r√®gles :

    La premi√®re ligne indique √† maildrop de filtrer les emails en utilisant SpamAssassin (attention, spamc ne marchera que si vous avez d√©marr√© votre d√©mon auparavant comme indiqu√© plus haut dans cet article). La seconde commande √† maildrop de maintenir un fichier de log qui s'appelle .delivered dans lequel vous pouvez voir les emails arriv√©s. Les commandes if () { } sont ici pour rediriger les emails dans vos bons dossiers (cela evite d'avoir tout le temps √† param√©trer un client mail). La premi√®re classe le spam dans votre dossier Spam, la seconde range mes emails gentoo dans un dossier perso. Libre √† vous de cr√©er d'autres r√®gles (mon fichier est trop long et personnel pour √™tre list√© en d√©tails ici ;), donc consultez les docs en ligne et votre ami de toujours : man.

    Alternativement, les utilisateurs de procmail, ne voulant pas se servir de postfix cr√©eront le fichier .procmailrc avec les lignes suivantes. Notez que pour la bonne marche de ce script, il vous faut un script perl s'appellant clamfilter filtrant les virus √† la place d'un autre outil tel qu'amavis d√©crit dans cet article :

    Le moment de v√©rit√© est arriv√©, il faut tester le tout. La premi√®re fois, vous pouvez taper en tant que votre utilisateur un fetchmail -v (-v pour verbose, mode bavard) afin qu'il vous indique tout ce qui se passe, en voici l'exemple :

    Si vous allez √† pr√©sent v√©rifier vos emails dans votre client pr√©f√©r√©, vous devriez les voir appara√ģtre (assurez vous bien s√Ľr de param√©trer votre client mail pour consulter votre Maildir local sinon vous ne risquez pas de les voir, j'utilises IMAP que je trouve bien pratique pour cela). Vous pouvez aussi v√©rifier votre fichier de livraison de mails pour vous assurer qu'il les dirige bien. Essayez par exemple : tail $HOME/.delivered :

    Voil√†, ceci conclus notre introduction dans le monde du mail g√©r√© sur votre petit Linux avec syst√®me Anti-Spam. Je rajouterais des √©l√©ments petit √† petit, j'attends vos critiques et commentaires. Inutilie de pr√©ciser que si je n'ai pas document√© quelque chose, c'est tr√®s certainement parce que l'aide en ligne le couvre, lisez avant d'envoyer un email.