Postfix作为智能主机? 这可能吗

我们在3个独立的公共静态IP上有3个SMTP服务器。 我们在一个静态IP上有一个辅助故障转移连接。 我想将所有3个SMTP服务器放在路由器后面,并closures公共IP,使用postfix接受主互联网连接和故障转移中的邮件,然后将所有电子邮件路由到现在的内部SMTP服务器。 这些是3个不同的电子邮件域。 我如何设置Postfix cnfg来实现这个function? 我GOOGLE了这个,没有find一个合适的解决scheme。 我有一个现有的Ubuntu 16.04盒子当前充当SSH网关,并将lkike利用这台机器的smtp网关/智能主机。

通过主备互联网连接传入电子邮件的路由与在DNS中设置正确的MX优先级logging一样简单:

example.com. 86400 IN MX 10 mx1.example.com. example.com. 86400 IN MX 20 mx2.example.com. mx1.example.com. 86400 IN A <ip-on-primary-internet-connection> mx1.example.com. 86400 IN A <ip-on-secondary-internet-connection> 

和其他域一样:

 example.net. 86400 IN MX 10 mx1.example.com. example.net. 86400 IN MX 20 mx2.example.com. 

在Postfix中,你需要一个configuration来接收example.com和example.net的传入邮件进行中继,而不是本地传递,并将其路由到正确的内部服务器。 或多或less有以下几点:

将example.com和example.net添加到relay_domains参数:

 [...] relay_domains = $mydestination, example.com, example.net [...] 

/etc/postfix/main.cfbuild立一个传输图:

 [...] transport_maps = hash:/etc/postfix/transport [...] 

而映射/etc/postfix/transport会将每个域的邮件路由到特定的SMTP服务器:

 example.com smtp:[internalhost1.example.com] example.net smtp:[internalhost2.example.com]