我的雇主给了我一个电子邮件地址[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,但我不认为这是正确的方法在这个用例。