我已经设置邮件服务器以使用 postfix 和 cyrus imapd + ldap 进行邮件查找。
现在我想指定特定地址(例如[电子邮件保护])而不是将邮件发送到邮箱,而是将其传递给脚本(更准确地说是 ruby 脚本)。我需要此功能,因为我希望将邮件传递到特定地址,最终到达我们的 redmine 服务器。如何做到这一点?
目前我有主配置文件:
...
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是用于搜索邮件地址的 LDAP 配置文件。
我需要在 Postfix 上配置什么?
答案1
在master.cf
其中创建一个新的“ruby”配置,以便 ruby 脚本接受邮件。具体操作pipe
如下:http://www.postfix.org/pipe.8.html
你可能已经pipe
在当前的 中看到了一些示例(在最后一栏中)master.cf
。但如何配置它取决于 ruby 脚本和相关的系统环境。
然后你需要一个文件(例如)/etc/postfix/transport_maps
内容
[email protected] ruby:
[email protected] ruby:
这会将这些人的邮件传递到您配置的 ruby 传输(master.cf
只要您将其命名为“ruby”即可)。然后运行postmap /etc/postfix/transport_maps
。
之后你需要换main.cf
行
transport_maps = hash:/etc/postfix/transport_maps
重新加载 Postfix 守护进程。从那时起,配置的地址将通过 ruby,其他地址将通过用 配置的传输local_transport
。