The Fool

Antispam et filtres de mails

Attention : cette documentation est obsolète ! Maintenant, le serveur utilise Dovecot LDA.

TheFool délivre ses mails en utilisant maildrop (voir aussi la configuration du serveur).

Sans rien faire...

Ça marche, les mails arrivent dans le « Courrier entrant » (~/Maildir). Mais on peut avoir envie de faire quelque chose de plus fin.

À mort les spams

Le filtre antispam Bogofilter est installé sur le serveur. C'est un filtre avec apprentissage, c'est à dire qu'il va falloir lui expliquer quels sont les mails désirables et quels sont ceux qui ne le sont pas. C'est pour cela qu'il n'est pas activé par défaut.

Activer le filtre

L'activation de Bogofilter se fait dans votre fichier ~/.mailfilter. S'il n'existe pas, copiez l'exemple :

cp /etc/skel/.mailfilter ~

Éditez-le ensuite avec votre éditeur de texte préféré. Pour activer l'antispam, changez ANTISPAM=0 à 1 au début du fichier. Vous devez avoir un répertoire nommé Junk dans votre boîte mail, c'est là où iront les spams.

Bogofilter classe les mails en trois catégories : non-spam, spam, et « pas sûr ». Au début, vous pouvez laisser les « pas sûr » arriver dans votre courrier entrant, et quand le filtre sera bien entraîné, vous pourrez lui dire de les mettre dans le répertoire Junk en passant UNSUREISSPAM de 0 à 1.

Entraînement du filtre

Pour entraîner le filtre, il vous faudra pendant un certain temps classer les mails : les spams qui atterriront dans le courrier entrant devront être déplacés dans le répertoire Junk, les non-spams arrivant dans le répertoire Junk devront être déplacés dans le courrier entrant. De plus, il faut éviter de supprimer les mails de l'un comme de l'autre, sinon Bogofilter ne pourra pas apprendre.

Enfin, il faut activer l'apprentissage, c'est à dire demander à Bogofilter d'aller lire une fois par jour – par exemple – les mails dans le courrier entrant et dans le répertoire Junk, pour apprendre à faire la différence.

Pour activer cela, lancez la commande crontab -e, et écrivez dans le fichier qui s'ouvre les deux lignes suivantes (en remplaçant <utilisateur> par votre nom d'utilisateur :

30           2    * * *        bogofilter -s -B /home/<utilisateur>/Maildir/.Junk/
45           2    * * *        bogofilter -n -B /home/<utilisateur>/Maildir/

Une boîte mail rangée

Vous pouvez aussi utiliser maildrop pour ranger votre boîte mail, en triant les mails selon certaines règles.

Globalement, cela consiste à ajouter des règles dans le fichier ~/.mailfilter. Voici à quoi cela ressemble :

if (/^(To|Cc):.*ag@fdn\.fr/)
  to $DEFAULT/.FDN         # Place les mails qui sont pour ou en copie à ag@fdn.fr dans le répertoire FDN

Les filtres s'appliquent sur l'en-tête des mails (utilisez la fonction « afficher le code source du message »), et sont des expression rationnelles. L'instruction to permet de choisir le répertoire de destination du mail (attention au . devant les noms de répertoires dans une Maildir).