![Postfix:将所有传入邮件中继到另一台主机](https://linux22.com/image/644443/Postfix%EF%BC%9A%E5%B0%86%E6%89%80%E6%9C%89%E4%BC%A0%E5%85%A5%E9%82%AE%E4%BB%B6%E4%B8%AD%E7%BB%A7%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E4%B8%BB%E6%9C%BA.png)
我有两个主机。一个是,mail1.example.com
另一个是mail2.example.com
。每个服务器都有自己的公共 IPv4 地址,但它们位于不同的地理位置。域名有mail1
MX 作为邮件服务器。我需要将所有传入邮件转发到mail2
。
我尝试通过编辑 Postfix 来实现传输图main.cf
,但没有成功。正确的做法是什么?每个服务器的要求是什么?
答案1
您不一定需要传输图,尽管您可以用这种方法。relayhost = mail2
在 main.cf 中指定应该足以将邮件发送到所需位置。
您还需要确保 mail1 不认为它是所涉及任何域的最终目标系统。例如,将您处理的域放在 中relaydomains
,而绝对不要放在 中mydestination
。
有一个相当复杂的例子http://www.postfix.org/STANDARD_CONFIGURATION_README.html#firewall这可能是合适的,并且确实使用了传输图。它涉及避免中继指定中继域的子域,因此可能有点过头了。
我有点担心这种内部中继会大大减少您的垃圾邮件处理选项。内部主机无法轻松地根据远程 IP 做出决定,无法使用灰名单,无法仔细检查远程主机是否在发送下一个邮件命令之前等待主机的响应行,等等。网关主机可能没有关于存在哪些帐户的信息等等。如果网关主机接受了电子邮件,但结果无法送达,那么您必须将错误通过电子邮件发送到发送地址,这通常称为“反向散射”(确保您熟悉那里的问题)。