这里有几个关于如何配置 postfix 以将所有消息重定向到单个邮箱以进行邮件脚本的开发/测试的答案。
我正在寻找一种变体,我在现有邮件服务器上打开一个备用端口,并且我希望所有传递到该端口的 SMTP 消息都被转储到同一服务器上的邮箱(Dovecot,通过本地传递)中。
我的问题是 smtpd 共享 main.cf 中的配置,并且我找不到在不配置整个单独的 postfix 环境的情况下运行 smtpd 的第二个副本的方法。我正在寻找一个更简单的解决方案。
该smtp-sink
计划是几乎这正是我想要的。它将每条消息写入一个新文件,但我还希望将它们通过本地传输推送到 Dovecot,这样我的邮件客户端就可以方便地看到它们。
有人能推荐一种简单的方法来实现这一点吗?我甚至会接受一个监听/读取 SMTP 并写入 LMTP 的 perl 脚本。
答案1
您可以覆盖smtpd_recipient_restrictions
辅助端口(例如端口 9925),以便将电子邮件重定向到您选择的邮箱(例如[电子邮件保护])。
master.cf 的入口
9925 inet n - - - - smtpd
-o smtpd_recipient_restrictions=check_recipient_access,pcre:/etc/postfix/x.pcre,reject_unauth_destination
文件/etc/postfix/x.pcre
/.*/ REDIRECT [email protected]
通过此设置,到达此端口的每封电子邮件都将与 PCRE 模式匹配/etc/postfix/x.pcre
,因此 postfix 会将其重定向到[电子邮件保护]。
你的最后一项任务是确保[电子邮件保护]通过 dovecot LMTP 传送。