Postfix转发带有虚拟邮箱的邮件

我有邮件服务器设置使用postfix和cyrus imapd + ldap进行邮件查找。

现在我想指定的特定地址(例如[email protected] ),而不是传递邮件到邮箱它传递给脚本(ruby脚本更加精确)。 我需要这个function,因为我想邮件传递到特定的地址,最终在我们的redmine服务器上。 这个怎么做?

目前我在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是LDAPconfiguration文件来search邮件地址。

我需要在postfix上configuration什么?

master.cf ,为ruby脚本创build一个新的“ruby”configuration来接受邮件。 这是通过pipe完成的,如http://www.postfix.org/pipe.8.html中所述。您可能已经可以在当前的master.cf看到一些示例(在最后一列使用pipe )。 但是如何configuration它取决于ruby脚本和相关的系统环境。

然后你需要一个带有内容的文件(例如) /etc/postfix/transport_maps

 [email protected] ruby: [email protected] ruby: 

这将把这些人的邮件传递给您在master.cfconfiguration的ruby传输,只要您将其命名为“ruby”即可。 然后运行postmap /etc/postfix/transport_maps

之后,你需要在main.cf添加一个新行

 transport_maps = hash:/etc/postfix/transport_maps 

重新加载Postfix守护进程。 从那里configuration的地址通过ruby,其他人通过使用local_transportconfiguration的传输。