我有两个主机.一个是mail1.example.com,另一个是mail2.example.com.每个服务器都有自己的公共IPv4地址,但它们位于不同的地理位置.域名有mail1 MX作为邮件服务器.我需要将所有传入的邮件中继到mail2.
我试图通过编辑Postfix的main.cf来实现传输映射,但是没有成功.这样做的正确方法是什么?每台服务器有哪些要求?
解决方法
您不一定需要传输地图,但您可以这样做.在main.cf中指定relayhost = mail2应该是获取所需邮件所需的全部内容.
您还需要确保mail1不认为它是所涉及的任何域的最终目标系统.即把你处理的域名放在relaydomains中,绝对不是我的目的.
在http://www.postfix.org/STANDARD_CONFIGURATION_README.html#firewall有一个相当复杂的例子可能是合适的,并且确实使用了传输地图.它关注的是避免中继指定的relaydomains的子域,因此可能有点过分.
我有点担心这种内部中继会大大减少您的垃圾邮件处理选项.内部主机无法根据远程IP轻松做出决策,无法使用灰名单,无法检查远程主机是否在发送下一个邮件命令之前等待来自主机的响应行等.网关主机可能不会没有关于帐户存在的信息等等.如果网关主机接受了电子邮件,并且结果是无法送达,那么您必须将错误通过电子邮件发送到发送地址,这通常被称为“反向散射”(确保您熟悉那里的问题).