Postfix Admin permet de créer simplement une base de données avec assez d'informations pour réaliser une gestion de domaines virtuels. Nous n'avons pas exploité la possibilité de définir un domaine en « backup », mais c'est facilement réalisable (voir plus bas). La gestion des alias fonctionne, il est possible d'attribuer plusieurs cibles au même alias, ce qui peut permettre la création de mini listes de diffusion.
Il est possible d'utiliser aussi bien Dovecot
que Courier-imap
pour le serveur POP/IMAP.
Si la configuration de PHP le permet, il est possible de lancer des scripts shell à la création de comptes, à la suppression de comptes et de domaines, de manière à « faire le ménage » dans le répertoire /home/virtual/mail
dans notre cas.
Il est enfin possible, lors de la création de comptes, de créer automatiquement des dossiers imap supplémentaires.
Dovecot est un serveur POP/IMAP très prometteur, mais encore jeune et sa configuration n'est pas encore complètement stabilisée, ce qui oblige à être très attentif en cas de mise à jour. La version vournie avec Debian Etch n'est qu'une « release candidate », il est cependant assez simple d'effectuer un rétro portage (backport) de la version v1.0.14, fournie dans Debian Lenny. Dans ce cas, il faut bien sûr recompiler le paquet source. Cette technique oblige l'administrateur à beaucoup de vigilance sur les publications de mises à jour de sécurité, puisqu'elles ne seront plus prises en charge par apt
. Dovecot est un logiciel qui, pour l'instant, évolue trop vite pour des distributions comme Debian.
Dovecot fournit un service SASL d'authentification pour Postfix, ce qui permet simplement de gérer les clients itinérants sur le port submission
.
Enfin, Dovecot sait utiliser aussi bien une base de données SQL qu'un annuaire LDAP.
En complément, la gestion des « MX Backups » pour certains domaines virtuels.
Postfixadmin met un drapeau dans la table domain
qui permet de savoir si un domaine est une destination finale ou un « backup ». Rappelez-vous :
# cat mysql_virtual_domains_maps.cf user = vmail password = epikoi hosts = localhost dbname = vmail query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '0' and active = '1'
Il nous suffit de créer dans /etc/postfix/db/
un fichier mysql_relay_domains_maps.cf
très semblable :
user = vmail password = epikoi hosts = localhost dbname = vmail query = SELECT domain FROM domain WHERE domain='%s' and backupmx = '1' and active = '1'
Et d'ajouter la ligne suivante dans notre main.cf
:
relay_domains = $mydestination proxy:mysql:/etc/postfix/db/mysql_relay_domains_maps.cf