用于邮件服务器备份/冗余的多个 MX DNS 条目?

用于邮件服务器备份/冗余的多个 MX DNS 条目?

我已经为我的域名设置了 MX 记录,如下所示:

0 mail1.mydomain.com.
10 mail2.mydomain.com.
20 mail1.backupmxserver.com.
30 mail2.backupmxserver.com.

其中条目 0 和 10 是我在家里托管的具有静态 IP 地址的邮件服务器。条目 20 和 30 是我付费请某人在互联网上维护的两个“备份 MX”服务器,它们将收到的所有邮件转发到前两个服务器之一,并在必要时无限期重试。

这样设置的目的是确保即使我的两个主服务器都暂时停机或不可靠,我也不会丢失任何来信。我假设,如果两个服务器都无法访问,互联网上向我的域发送邮件的服务器将改为尝试使用服务器 20 或 30 作为备份。(然后,一旦我的两个服务器之一再次可访问,邮件就会通过,由接收它的备份服务器转发。)

但是,我的问题是,是否确实可以合理地假设向我的域发送邮件的服务器在需要时会尝试服务器 20 或 30?

接待他们的公司告诉我,是的,这种设置是标准的并且可以接受。

但他们是对的吗?我能相信吗每一个合法的服务器会尝试向我发送电子邮件,但仅在条目 0 和 10 上弹回后就不会放弃吗?

答案1

是的,这是准确的,并且是任何发送邮件服务器的预期行为。

为了进行比较,如果您查看 MX 记录,gmail.com您会发现它们也有很多 MX 记录(尽管在它们的情况下,每个主机可能与一组服务器相关,而不是单个服务器)。

Non-authoritative answer:
gmail.com       MX preference = 40, mail exchanger = alt4.gmail-smtp-in.l.google.com
gmail.com       MX preference = 10, mail exchanger = alt1.gmail-smtp-in.l.google.com
gmail.com       MX preference = 20, mail exchanger = alt2.gmail-smtp-in.l.google.com
gmail.com       MX preference = 5, mail exchanger = gmail-smtp-in.l.google.com
gmail.com       MX preference = 30, mail exchanger = alt3.gmail-smtp-in.l.google.com

发送邮件服务器会收到所有 MX 记录,然后按优先级顺序处理列表,直到能够发送邮件。在许多情况下,如果他们无法发送邮件,邮件将被排队,服务器将稍后重试,但这取决于该服务器的所有者如何选择配置它。

您还可以使用相同的首选项设置多个 MX 记录,例如,您可以将其配置为

0 mail1.mydomain.com.
10 mail2.mydomain.com.
20 mail1.backupmxserver.com.
20 mail2.backupmxserver.com.

发送邮件服务器仍需要尝试所有提供的记录(根据设置,最高可达可配置的限制),但拥有两个具有相同偏好的备份意味着某些发送服务器将mail1首先尝试,而其他发送服务器将mail2首先尝试(然后尝试另一个),在两者之间分发电子邮件,而不是所有电子邮件都命中,mail1并且仅mail2在不可用时才到达。

另外,一个常见的例外是垃圾邮件发送者,他们有时会将电子邮件直接发送到最后一个服务器,而不是第一个服务器。他们的想法是,备份邮件服务器可能不会受到像主服务器那样密切的监控,或者在其上运行的反垃圾邮件服务也并不像主服务器那么多。当然,如果您的备份只是保存电子邮件,然后在再次上线后将其转发到主服务器,那就无关紧要了。

相关内容