我有一台邮件服务器,用于中继两个不同域的电子邮件。我希望smtp_helo_name
根据域的不同而有所不同。我假设没有办法通过检查邮件头来实现这一点,所以我想知道是否有办法通过将一个域的邮件发送到一个 IP 地址,将另一个域的邮件发送到另一个 IP 地址来实现这一点。
我尝试修改 master.cf 来执行以下操作:
localhost:smtp inet n - n - - smtpd
ip1:smtp inet n - n - - smtpd
ip2:smtp inet n - n - - smtpd -o myhostnamee=example2.com
并smtp_helo_name
在$myhostname
main.cf 中设置。
我也尝试过-o smtp_helo_name
其他方法,但都不起作用。任何建议都很好。
答案1
这应该可行(但没有尝试过):
为其他域定义一个单独的传输,然后使用sender_dependent_relayhost_maps
main.cf 中的选项将邮件路由到该传输。
像这样:
在'master.cf'中:
smtp-other unix - - n - - smtp
-o smtp_helo_name=my.other.helo.name
在'main.cf'中:
sender_dependent_relayhost_maps = hash:/etc/postfix/relay_maps
在‘relay_maps’中:
my.other.domain smtp-other:
并运行'postmap /etc/postfix/relay_maps'
答案2
看看在单个主机上管理多个 Postfix 实例,但请注意,只有 Postfix 2.6 及更高版本才支持多实例。