Postfix将不接受虚拟域上的其他用户提交的电子邮件

我的雇主给了我一个电子邮件地址[email protected] 。 我的雇主的外发邮件服务器只允许从他们的networking内部连接(而不是像一个坚持通过他们连接使用他们的SMTP服务器的ISP)。 所以当我到咖啡厅吃午饭,老板的电子邮件到达我的电话时,我不能回复,直到我回到办公室。 另外,在旅行或在外地工作时,我无法回复电子邮件。

我不允许重新configuration主邮件服务器,但我有一个小的单独的Postfix服务器,我可以控制。 我在那里设置了许多虚拟,并且将myemployersdomain.com添加为一个附加的虚拟域,将[email protected]为一个虚拟用户。 这个工作,我可以通过这个服务器发送到世界任何地方,除了myemployersdomain.com(这是我真正想要的)上的其他用户。

当我尝试发送到[email protected]我得到

NOQUEUE:拒绝:来自…的RCPT 550 5.1.1 …收件人地址被拒绝:虚拟邮箱表中的用户未知

Postfix服务器认为它控制着所有myemployersdomain.com,如果我没有为这个域上的收件人设置一个虚拟用户,那么它不允许它。 我可以通过在虚拟文件中设置一个catchall别名来使错误消失

 @myemployersdomain.com [email protected] 

但当然,我发送的所有电子邮件都会直接返回给我!

我尝试设置传输文件来传递myemployersdomain.com的所有邮件,比如说像这样的gmail:

 example.com : myemployersdomain.com smtp:[smtp.gmail.com]:587 

但是没有区别。 (中继按照预期的方式工作在其他(外部)域的收件人地址,但是对于这个虚拟域,Postfix不允许你达到这个目的 – 5.1.1错误首先出现。

是否有可能configurationPostfix将发往本地定义的虚拟域的邮件发送到大型互联网,并让DNS将其排除?

如果将辅助计算机设置为备份服务器,则需要进行一些设置。

relay_domains= myemployersdomain.com

你也将像这样使用你的transport_maps

myemployersdomain.com relay:[the.actual.server]

那么你会(正如猎鹰所说)需要relay_recipient_maps有一个通配符,或者一个条目给你,还有你的老板。

然后,我会设置TLSencryption的SASL授权,并且只允许进行身份validation的用户发送。

smtpd_relay_restrictions = permit_sasl_authenticated, reject

`

电子邮件地址的域部分的整个意义在于它指示哪个SMTP服务器负责整个域的邮件传递。 换句话说:你不能细分这样的领域。

然而,这听起来像你真正想要做的(除了规避政策,但这是一个理论上有趣的问题,所以我无论如何回答)只是中继邮件。

在这种情况下, 只要用户通过身份validation ,就应该将所有看到的邮件进行转发。 我相信你可以设置它没有一个本地域。 毕竟,我假设你实际上并不想让你的中继MTA接收邮件的传递,因此有两个地址相同的收件箱。 这只会令人困惑。

如果您告诉它传递所有内容,则会将其发送到目标域的MXlogging中的任何内容,我认为这是您想要的内容。

这最好通过设置没有本地域来完成。 例如,该设置对于用于病毒和垃圾邮件过滤的中继MTA是很常见的。

我记得有一个称为relay_recipient_maps的function,但我不认为这是正确的方法在这个用例。