如何使用 transport_maps 覆盖特定域的 MX 值但具有某种形式的冗余

如何使用 transport_maps 覆盖特定域的 MX 值但具有某种形式的冗余

我有一个 Postfix 邮件服务器,我想覆盖特定域的 MX 值。

据我了解,这可以通过使用 transport_maps 来实现

http://www.postfix.org/postconf.5.html#transport_maps

在 /etc/postfix/transport 中添加一行:

example.com smtp:[9.9.9.9]

使用以下方法生成 postmap 文件:

postmap 哈希:/etc/postfix/transport

在 /etc/postfix/main.cf 中添加或编辑一行:

transport_maps = hash:/etc/postfix/transport

重启 Postfix

我的问题是,通常使用 MX 地址时,您通常会有多个邮件服务器用于冗余(以防其中一个服务器离线)。我如何使用传输图实现相同的功能,因为它似乎指向单个 IP 地址。有没有办法设置,以便在第一个 IP 地址失败的情况下尝试多个 IP 地址。

答案1

据我所知,SMTP 传输不会这样做。但是,您可以设置一个虚拟 DNS 域,其中的 MX 记录指向您要中继邮件到的主机,并在传输图中使用它不带方括号

dest.example.com smtp:dummy.example.net

答案2

从 Postfix >= 3.5 开始,可以在传输文件中写入

example.com      smtp:bar.example, foo.example

所以如果 bar.example 不回复,则将使用 foo.example。

注意:postmap 实际语法是 postmap /etc/postfix/transport

相关内容