Nous disposons d'une solution tout à fait exploitable, si nous avons peu de comptes à gérer et un seul domaine de messagerie. Dovecot est un serveur POP/IMAP de bonne facture et qui peut aller bien au delà de ce que nous lui avons demandé ici. Au train où vont les choses, il pourra sans doute rapidement rivaliser avec le serveur Cyrus
que nous verrons dans la solution suivante.
Nous aurions également pu utiliser courier-imap
. Il est plus lourd que Dovecot et ne se justifie pas forcément ici, mais la solution n'est pas à écarter.
Il nous manque juste la gestion de comptes de messagerie qui ne nécessite pas de créer un compte unix, et la possibilité de gérer plusieurs domaines de messagerie. C'est ce que nous allons faire dans le chapitre suivant.
Nous avons utilisé ici un MDA interne à Postfix. Nous pouvons aussi utiliser un MDA plus configurable, comme procmail
, qui permet par exemple de créer des règles de filtrage personnalisées pour chaque compte. Procmail peut ainsi déposer directement les messages dans des dossiers IMAP dédiés en fonctions de critères de tri. Il suffit dans ce cas d'ajouter la ligne :
mailbox_command = /usr/bin/procmail -a "$EXTENSION"
à notre main.cf
, puis d'écrire des fichiers .procmailrc
dans le répertoire des utilisateurs. Procmail dispose d'un langage de script très puissant, mais peu intuitif.
Dovecot propose également un MDA. Dans un cas comme celui que nous traitons ici (sans domaines virtuels), nous aurions pu nous en servir en plaçant dans main.cf
la ligne :
mailbox_command = /usr/lib/dovecot/deliver
Dovecot dispose d'un plug-in qui permet alors de filtrer les messages au niveau du MDA en utilisant le langage sieve
1).
Si c'est ce MDA (nommé aussi LDA dans la documentation Dovecot) qui est utilisé, quelques ajouts doivent être faits dans le fichier de configuration de Dovecot.
Quelques paramètres spécifiques à la configuration de deliver
:
protocol lda { postmaster_address = postmaster@nain-t.net mail_plugin_dir = /usr/lib/dovecot/modules/lda sendmail_path = /usr/lib/sendmail mail_plugins = cmusieve }
Et une ligne pour spécifier à deliver
que l'on souhaite utiliser le format Maildir (en effet, la ligne qui le spécifie dans main.cf
de Postfix ne sert plus à rien puisque l'on utilise plus le MDA de Postfix) :
mail_location = maildir:~/Maildir
En ce qui concerne l'emploi de sieve, Dovecot distribué par Debian ne permet pas à l'utilisateur de placer ses scripts autrement que par FTP ou SSH pour l'instant. Sur ce point, nous verrons que dans l'état actuel (au 26 juin 2008), Cyrus conserve une longueur d'avance.