Des dires de Wikipedia : « Sieve est un langage de filtrage du courrier électronique. Il est normalisé dans le RFC 5228. Sieve permet de filtrer sur les en-têtes d’un message qui suit le format du RFC 5322, c’est-à-dire un message Internet typique. »
Sieve c’est très pratique car le filtrage du courrier est effectué au niveau du serveur dès la réception de l’email. Ce qui est presque indispensable quand on utilise plusieurs clients de messagerie (web &/ou desktop). Je vais donc utiliser Managesieve (qui est la partie serveur du protocole) pour Dovecot (projet Pigeonhole).
Actuellement le panel ISPconfig me permet d’éditer les filtres Sieve mais n’utilise pas Managesieve. ISPconfig stock en base (table mail_user_filter) et écrase le fichier à chaque modification.
Je ne souhaite plus passer par ISPconfig pour modifier mes filtres, mais directement par Horde (via Ingo) ou Roundcube (plugin) ou encore par thunderbird (plugin) selon mes besoins.
Installation de Managesieve
Rien de plus simple :
aptitude install dovecot-managesieved
Modifier le fichier /etc/dovecot/dovecot.conf :
< protocols = imap > protocols = imap sieve
Puis redémarrer le service, le port 4190 doit ensuite être à l’écoute :
$ service dovecot restart $ netstat -pnat | grep 4190 tcp 0 0 0.0.0.0:4190 0.0.0.0:* LISTEN 11111/dovecot
Horde (ingo) & Sieve
Il vous suffit de modifier le fichier ingo/config/backends.php de votre instance horde de la façon suivante :
[...] /* IMAP Example */ $backends['imap'] = array( // ENABLED by default < 'disabled' => false, > 'disabled' => true, 'transport' => array( Ingo::RULE_ALL => array( 'driver' => 'null', 'params' => array(), ), ), [...] $backends['sieve'] = array( // Disabled by default < 'disabled' => true, > 'disabled' => false, 'transport' => array( Ingo::RULE_ALL => array( 'driver' => 'timsieved', 'params' => array( // Hostname of the timsieved server 'hostspec' => 'localhost', // Login type of the server 'logintype' => 'PLAIN', // Enable/disable TLS encryption 'usetls' => false, // Port number of the timsieved server 'port' => 4190, // Name of the sieve script < 'scriptname' => 'ingo', > 'scriptname' => 'filtres', // Enable debugging. The sieve protocol communication is logged [...]
Ne faites (peut être) pas ça chez vous
En effet ça ne s’avère pas être forcément la meilleure des solutions :
- Il n’est apparemment pas possible d’importer des scripts existants.
- Plus embêtant il s’avère que Horde fonctionne presque de la même façon qu’ISPconfig. A savoir qu’il stock en base les filtres et écrase le script sieve (via managesieve quand même) Ce qui me condamne à n’utilise qu’une interface (horde) pour modifier mes filtres :’-(
Bon je m’en contente, il est toujours plus agréable de modifier ses filtres via son webmail (horde) que via le panel ISPconfig.