Postfix 动态 smtp_helo_name

Postfix 动态 smtp_helo_name

我有一台邮件服务器,用于中继两个不同域的电子邮件。我希望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$myhostnamemain.cf 中设置。

我也尝试过-o smtp_helo_name其他方法,但都不起作用。任何建议都很好。

答案1

这应该可行(但没有尝试过):

为其他域定义一个单独的传输,然后使用sender_dependent_relayhost_mapsmain.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 及更高版本才支持多实例。

相关内容