如何在 postfix 中设置多个中继主机?

如何在 postfix 中设置多个中继主机?

我想要一个主机列表relayhost,当 postfix 尝试发送电子邮件时,它会将其发送给其中任何一个主机,如果该主机处于离线状态,它会尝试另一个主机。

可以在配置文件中完成吗,还是我需要使用 DNS 设置?
如果我给出一个包含多个 mx 记录的relayhost虚构配置,它会尝试所有配置吗? 如果我给出一个包含多个 a 记录的虚构配置,它会如何处理?hostname
relayhost[hostname]

參考文獻:http://www.postfix.org/postconf.5.html#relayhost

答案1

Postfix 3.5 及更高版本支持多个目的地。

relayhost = mail1.example.com:587, mail2.example.com:587
relayhost = [mail1.example.com]:587, [mail2.example.com]:587

答案2

Postfix 不允许定义多个条目以relayhosts实现冗余。请查看您引用的页面:

对于 SMTP,请指定A域名、主机名、主机名:端口、[主机名]:端口、[主机地址] 或 [主机地址]:端口。格式 [主机名] 关闭 MX 查找。

如您所见,这里无法定义多个地址/主机名。

如果我为 Relayhost 提供一个具有多个 mx 记录的虚构主机名,它会全部尝试吗?

我想是的,但是如果它需要身份验证,那么它可能无法与辅助服务器一起工作并失败。

如果我给中继主机一个虚构的具有多个记录的 [主机名],它将如何处理?

它会以轮询方式使用 DNS 返回的第一个地址(A 记录)。但这并不意味着如果 DNS 服务器返回的地址失败,它会尝试另一个地址。

话虽如此,您可以看看这个后缀选项:smtp_fallback_relay

答案3

我建议你选择DNS

但是您不需要设置多个 MX 记录 - 您需要使用多个 A 记录来解析给定的主机名(主机应该解析为给定的一组 IP 地址)。

对于邮件来说,使用多个主机来处理流量是很常见的。这是使用多个 mx 记录来实现的。因此,当您从自己的主机/中继发送邮件时,使用相同的设置就很简单了。

相关内容