我正在尝试让 Postfix 将特定域中收到的所有电子邮件通过管道传输到 PHP 脚本。到目前为止,我已经能够通过在网上找到的教程以及使用/etc/postfix/virtual
类似以下内容编辑文件来做到这一点;
@domain.com root
问题在于 Postfix 正在重写原始收件人电子邮件地址(例如[电子邮件保护]) 到[电子邮件保护]并且接收电子邮件的 PHP 脚本没有获取原始收件人([电子邮件保护])重要的是,PHP 脚本看到[电子邮件保护]代替[电子邮件保护]。
Postfix 是否可以将所有传入邮件直接发送到 PHP 脚本而无需像上例一样修改地址?
注意:可能会有 10,000 个传入电子邮件地址。
关于如何让 Postfix 完成我想要做的事情,您有什么想法吗?
答案1
您可以通过 Postfix 设置附加标题:
创建一个/etc/postfix/appendheader.regexp
:
/(.+)/ PREPEND X-Original-To: $1
在/etc/postfix/main.cf
:
smtpd_data_restrictions = pcre:/etc/postfix/append_header.regexp
这将X-Original-To:
在重写之前添加一个带有原始邮件地址的 -header。让您的 PHP 脚本解析此标头而不是 -Header To:
。