Ce document présente différentes façons d'utiliser l'agent de livraison maildrop dans Postfix :
Postfix peut être configuré pour livrer le courrier directement à maildrop sans utiliser l'agent de livraison local(8) comme intermediaire. Ceci signifie que vous n'aurez pas les substitutions des alias locaux ou le traitement des fichiers $HOME/.forward. Vous pourrez typiquement utiliser pour les domaines hébergés avec des destinataires qui n'ont pas de répertoires individuels UNIX ($HOME).
Les exemples suivants montrent comment utiliser maildrop pour un.domaine et pour un.autre.domaine.
1 /etc/postfix/main.cf: 2 maildrop_destination_recipient_limit = 1 3 virtual_mailbox_domains = un.domaine un.autre.domaine 4 virtual_transport = maildrop 5 virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox 6 virtual_alias_maps = hash:/etc/postfix/virtual_alias 7 8 /etc/postfix/virtual_mailbox: 9 user1@un.domaine ...texte inutilisé ici... 10 user2@un.domaine ...texte inutilisé ici... 11 user3@un.autre.domaine ...texte inutilisé ici... 12 13 /etc/postfix/virtual_alias: 14 postmaster@un.domaine postmaster 15 postmaster@un.autre.domaine postmaster
La ligne 2 est nécessaire pour que Postfix appelle l'agent de livraison maildrop pour chaque destinataire individuellement.
La ligne 3 informe Postfix que un.domaine et un.autre.domaine sont des domaines virtuels de boîtes-aux-lettres. Au lieu de lister ces noms dans le fichier main.cf, vous pouvez également utiliser un fichier ; reportez-vous à la page virtual_mailbox_domains pour plus de détails.
La ligne 4 indique que le courrier pour les domaines virtuels de boîtes-aux-lettres (un.domaine et un.autre.domaine ici) doivent être livrés via l'agent de livraison maildrop.
Lignes 5 et 8 à 11 : indiquez les destinataires que le serveur SMTP de Postfix doit accepter comme destinataire. Ceci évite l'encombrement des files d'attente par des messages non livrables. Indiquez une valeur vide ("virtual_mailbox_maps =") pour désactiver cette fonctionnalité.
Lignes 6 et 13 à 15 : redirige le courrier du postmaster des domaines virtuels vers le postmaster local. La RFC 821 requiert une adresse postmaster par domaine.
L'UID vmail utilisé ci-dessous est le compte sous lequel doit être lancé maildrop. Il doit être le propriétaire des boîtes-aux-lettres virtuelles si elles ont le même propriétaire. Si maildrop a le bit suid (voir la documentation de maildrop), alors maildrop changera automatiquement de compte pour livrer le courrier.
Note : N'utilisez pas l'utilisateur postfix pour maildrop.
/etc/postfix/master.cf: maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/path/to/maildrop -d ${recipient}
Si vous voulez supporter les adresses du style user+extension@domain, utilisez ce qui suit à la place :
/etc/postfix/master.cf: maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/path/to/maildrop -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}
Le courrier est livré à ${user}@${nexthop} (clef correspondant pour la recherche dans la base des utilisateurs maildrop). L'${extension} et les autres composants sont disponibles pour les règles maildrop sous $1, $2, $3, ... et peut être ommit dans master.cf ou ignoré par maildrop s'ils ne sont pas utilisés.
Postfix peut être configuré pour livrer le courrier à maildrop via l'agent local de livraison. Ceci est légèrement moins efficace que l'approche "directe" décrite ci-dessus, mais présente l'intérêt des substitutions d'alias locaux et de l'exploitation des fichiers $HOME/.forward. Vous pourrez typiquement l'utiliser pour les domaines listés dans mydestination et qui n'ont pas de compte du système UNIX.
Pour configurer la livraison maildrop pour tous les comptes du système UNIX :
/etc/postfix/main.cf: mailbox_command = /path/to/maildrop -d ${USER}
Note : ${USER} est épelé en majuscules.
Pour activer la livraison maildrop pour certains utilisateurs seulement, vous pouvez utiliser la fonctionnalité mailbox_command_maps de l'agent local(8) de livraison :
/etc/postfix/main.cf: mailbox_command_maps = /etc/postfix/mailbox_commands /etc/postfix/mailbox_commands: vous /path/to/maildrop -d ${USER}
La livraison maildrop pour certains utilisateurs est également possible en l'invoquant depuis les fichiers $HOME/.forward :
/home/vous/.forward: "|/path/to/maildrop -d ${USER}"
traduction par Xavier Guimard - Retour au menu