用Postfix中继本地邮件

情况

我正在使用SpamExperts进行电子邮件归档。 为了获得邮件存档,邮件必须通过SpamExpert的Smarthost才能到达最终目的地。

如果我想让所有外发邮件归档,我可以使用sender_dependent_relayhost_maps 。 现在我的main.cf的相关部分是:

 sender_dependent_relayhost_maps = hash:/etc/postfix/securitybox_sender_relay smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/securitybox_passwd smtp_sasl_security_options = smtp_sender_dependent_authentication = yes 

现在问题是,如果发送者和接收者在同一台机器上,Postfix将使用本地传输,并且消息不会被中继,因此不被存档。

我的问题

我怎样才能使从一个特定本地域发送到任何本地域(包括本身)的所有消息在被传送到最终目的地之前通过智能主机被中继?

这听起来不是可行的,可以通过智能主机路由内部邮件,无论软件是什么,我唯一能想到的方式就是使用某种盲目拷贝,将内部发送的所有邮件自动复制到外部地址。

我从SpamExperts知识库中find了这篇文章,它处理的是同一个问题(尽pipe它与Exchange有关):

Microsoft Exchange内部电子邮件存档

我要在这里引用它:

将垃圾邮件专家用于入站和出站电子邮件过滤(使用智能主机设置)时,所有外部SMTP通信都将自动归档为启用存档的域的一部分。 但是,Microsoft Exchange不通过传出的智能主机来中继内部通信,因此默认情况下,内部通信不会被归档。

归档内部通信很简单,可以使用Exchange日记系统来完成。 日志系统允许Exchange自动将所有内部通信的副本发送到外部电子邮件地址。 只要您使用SpamExperts设置外部电子邮件地址进行归档,SpamExperts入站filter将简单地处理邮件并将其归档。 您应该将日记报告发送到的目标地址configuration为列入白名单的黑匣子收件人。 这意味着收到的消息不会过滤或传递到外部服务器。 SpamExperts支持可以帮助您完成此项任务(或者您可以直接通过本地云产品上的软件API执行此操作)。

您的Microsoft Exchangepipe理员将能够为您激活日记function,以确保每封电子邮件的副本被自动发送到存档的黑匣子收件人。

类似的东西可以通过使用Postfix的sender_bcc_mapsrecipient_bcc_maps选项来实现。 你可以看看这个提示:

我怎样才能configurationPostfix保留通过它发送的所有电子邮件的副本?

据我所知,这是不可能的。 Postfix无法知道该消息是“传入的”还是“传出的”消息,它只是看到消息并尝试将消息传递到目的地。 如果您设法redirect消息(例如使用传输地图),则postfix将与另一个MX产生无限循环。 没有人想要这个,所以这是不可能的。 有可能使用自定义的amavis脚本来实现你想要的,但这是一个相当脏的解决scheme,可能并不总是按预期工作。