Courrier de renvoi Postfix avec des boîtes aux lettres virtuelles présentes

J'ai configuré le server de messagerie pour utiliser postfix et cyrus imapd + ldap pour les searchs de courrier.

Maintenant, je voudrais préciser que pour une adresse particulière (par exemple someuser@domain.com ) au lieu de livrer un courrier à la boîte aux lettres, il est transmis au script (le script ruby ​​est plus précis). J'ai besoin de cette fonctionnalité car j'aimerais que les mails passent à une adresse particulière pour finir sur notre server Redmine. Comment faire cela?

Actuellement, j'ai dans main.cf :

... mydestination = $mydomain, mail.$mydomain local_recipient_maps = ldap:/etc/postfix/ldapvirtual.cf local_transport = lmtp:unix:/var/lib/imap/socket/lmtp ... 

/etc/postfix/ldapvirtual.cf est un file de configuration LDAP pour searchr des adresses de messagerie.

Que dois-je configurer sur postfix?

Dans master.cf vous créez une nouvelle configuration "ruby" pour que le script ruby ​​accepte les mails. Cela se fait via le pipe comme décrit dans http://www.postfix.org/pipe.8.html Vous pouvez probablement déjà voir quelques exemples (avec un pipe dans la dernière colonne) dans votre master.cf actuel. Mais comment le configurer dépend du script ruby ​​et de l'environnement système associé.

Ensuite, vous avez besoin d'un file (par exemple) /etc/postfix/transport_maps avec le contenu

 someuser@example.com ruby: other@example.net ruby: 

Cela passera des mails pour ces personnes au transport ruby ​​que vous avez configuré dans master.cf tant que vous l'avez appelé "ruby". Ensuite, exécutez postmap /etc/postfix/transport_maps .

Après cela, vous avez besoin d'une nouvelle ligne dans main.cf avec

 transport_maps = hash:/etc/postfix/transport_maps 

Rechargez le daemon Postfix. À partir de là, les adresses configurées passent par ruby ​​et les autres passent par le transport configuré avec le transport local_transport .