SMTP守护程序在备用端口上捕获所有邮件到单个Dovecot邮箱

关于如何configurationpostfix将所有消息redirect到单个邮箱,以及开发/testing邮件脚本,这里有几个答案。

我正在寻找一个变体,我在现有的邮件服务器上打开一个备用端口,我希望所有传送到该端口的SMTP邮件都被转储到同一台服务器上的一个邮箱(Dovecot,通过本地交付)。

我的问题是,smtpd共享main.cf中的configuration,我没有看到一种方式来运行smtpd的第二个副本,而不configuration一个完整的单独的后缀环境。 我正在寻找一个更简单的解决scheme。

smtp-sink程序几乎正是我想要的。 它会将每个消息写入一个新文件,但是我还想让他们推送本地传送到Dovecot,在那里我的邮件客户端可以方便地看到它们。

任何人都可以推荐一个简单的方法来做到这一点? 我甚至会接受一个perl脚本来监听/读取SMTP并写入LMTP。

您可以覆盖辅助端口(例如端口9925)上的smtpd_recipient_restrictions ,以便将电子邮件redirect到您select的邮箱(例如[email protected])。

master.cf的input

 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] 

通过这个设置,每个到这个端口的邮件都将匹配/etc/postfix/x.pcre上的PCRE模式,因此postfix会将其重命名为[email protected]

您最后的任务是确保[email protected]是通过dovecot LMTP交付的。