Installation et configuration de sieve pour filtrer les emails
Ce tutoriel explique comment installer et configurer le plugin sieve pour le filtrage automatique des emails sur un serveur mail postfix/dovecot installé sur une distribution Ubuntu serveur 12.04.
Pré-requis : Installation du serveur mail et mise à jour pour Ubuntu 12.04.
La première étape consiste à installer le paquet contenant le plugin sieve pour dovecot : ce plugin n’est pas disponible dans l’installation de base de dovecot :
sudo apt-get install dovecot-sieve
En super-utilisateur, on édite ensuite le fichier /etc/dovecot/dovecot.conf
:
-
pour demander à dovecot d’utiliser sieve, on modifie la section
protocol lda
protocol lda { auth_socket_path = /var/run/dovecot/auth-master log_path = mail_plugins = sieve postmaster_address = tuxette@domain-name.com }
-
puis on précise l’emplacement du fichier de règles (je n’utiliserai, dans la suite, que le fichier global
sieve_global_path
qui applique les mêmes filtres pour tous les utilisateurs :plugin { sieve = /home/mail/%d/%n/Maildir/.dovecot.sieve sieve_dir = /home/mail/%d/%n/Maildir/sieve sieve_global_path = /home/mail/sieve.default }
Sous l’utilisateur mailuser
on édite enfin le fichier /home/mail/sieve.default pour faire un essai de règle :
sudo su mail
cd /home/mail
nano sieve.default
dans lequel on copie, par exemple, la règle suivante :
require ["fileinto"]; if header :contains "subject" ["[SPAM]", "[MESSAGE MARQUE SPAM]"] { fileinto "Junk"; } else { keep; }
qui déplacera les messages contenant [SPAM] et [MESSAGE MARQUE SPAM] dans la boîte “Junk” (la boîte aux lettres doit avoir été préalablement créée dans /home/mail/%d/%n/Maildir
). D’autres exemples de règles de filtrage peuvent être trouvés à ce lien.
En guise d’essai, envoyez vous un message à une des adresses de votre serveur mail. Le fichier de log doit alors contenir une ligne du type
Aug 19 17:40:09 SERVER dovecot: lda(tuxette@domain-name.org): sieve: msgid=<xxxxx>: stored mail into mailbox 'Junk'
et le message doit avoir été stocké dans la boîte “Junk”.