防止 MX 记录回退

1 domain-name-system iis-7 smtp a-record mx-record

我有一个网站 example.com,它在带有 IIS 7 和“IIS 6”SMTP 服务的 Windows 2008 服务器上运行。该网站会定期向 info@example.com 发送电子邮件。

在极少数情况下,example.com 的 MX 记录查找失败,因此 SMTP 服务回退到 A 记录,我理解这是预期行为。然而,这不是我们想要的行为,因为 example.com 的邮件服务器在不同的机器上,所以偶尔会出现电子邮件退回。

防止这种情况的最佳方法是什么?


编辑:我的 DNS 设置如下所示:

A - example.com -> 11.22.33.44
A - mail.example.com -> 55.66.77.88
CNAME - www.example.com -> example.com
MX - example.com -> server-a.outside-spam-filter-service.com
MX - example.com -> server-b.outside-spam-filter-service.com
MX - example.com -> server-c.outside-spam-filter-service.com
MX - example.com -> server-d.outside-spam-filter-service.com
Run Code Online (Sandbox Code Playgroud)

我没有在本地机器上运行 DNS 服务器。该机器设置为使用我们的托管服务提供商 (PEER1) 的 DNS 服务器。


编辑 2,故障排除问题的答案:

1. Web 服务器是 AD 域的一部分吗?

服务器不是域的一部分。

2. Web 服务器上的 smtp 服务是否配置为接受 example.com 的电子邮件?如果是,并且未配置为中继电子邮件,它将尝试在本地传递消息,而不是查找 MX 记录,后者可能会与回退到“A”混淆。

SMTP 服务配置为接受所有本地 SMTP 连接,并配置为中继所有电子邮件。(另外,如果它没有配置为中继,它会不会退回所有电子邮件而不是一些?)

3. ...检查Web服务器正在使用的dns服务器,并从Web服务器运行查询以检查example.com的mx记录,并确保它返回正确的信息....

我使用列为主要 NIC 的 DNS 服务器的两台服务器进行了命令行 nslookup。MX 记录按预期返回。

Doo*_*oon 5

仅当不存在 mx 记录时才应将 A 记录传送到。如果它们存在但服务器不应答或 4xx 邮件,则发送服务器应将消息排队并重试。如果 MX 无法应答并且发送服务器然后尝试 A 记录,我觉得该服务器已损坏。

编辑-.. 故障排除步骤--

由于它只发生在 Web 服务器上,因此这里有一些需要查看的内容。

  1. Web 服务器是 AD 域的一部分吗?AD域和外部域名一样吗?如果他们使用相同的域名 (example.com),则内部 AD 将覆盖外部 DNS 服务器,您需要确保您的内部 AD DNS 具有正确的 MX 记录。
  2. Web 服务器上的 SMTP 服务是否配置为接受 example.com 的电子邮件?如果是,并且未配置为中继电子邮件,它将尝试在本地传递消息,而不是查找 MX 记录,后者可能会与回退到“A”混淆。
  3. Web 服务器配置为使用哪些 DNS 服务器?检查 Web 服务器正在使用的 DNS 服务器,并从 Web 服务器运行查询以检查 example.com 的 MX 记录,并确保它返回正确的信息。从 Web 服务器执行以下操作。还要查看 Web 服务器的配置,并尝试针对列为其本地 DNS 服务器的每台服务器,而不是托管公司的外部服务器。

    nslookup 
       > set type="mx"
       > example.com 
    
    Run Code Online (Sandbox Code Playgroud)