将邮件投递到特定 MX

将邮件投递到特定 MX

我们遇到了一个奇怪的问题。我们的 Exchange(旧版 Exchange 2010)服务器无法将邮件发送到某个地址。检查时我发现收件人的域有 2 个 MX 记录

  • MX 10 好.服务器
  • MX 100 坏服务器

不清楚为什么,但我们的 Exchange 尝试只向第二台服务器发送邮件。由于第二台服务器有问题,所以失败了。出现了 2 个问题

  1. 理论上——为什么?
  2. 实际问题(如果理论问题仍未得到解答)-如何强制 Exchange 将邮件传递到 good.server?

更新:我用于测试 centralops.net/co 。我看到有两个 MX 记录:

  • 10 somedomain.mail.protection.outlook.com
  • 100relay.rzone.de

测试邮件通过了所有检查,并正在通过第一个 MX。在 Exchange 的工具箱中,我可以找到一种跟踪,我在那里看到 Exchange 尝试将邮件发送到第二台服务器,经过多次尝试后,状态为“失败”。

更新 2:根据https://docs.microsoft.com/en-us/exchange/mail-flow/test-smtp-with-telnet?view=exchserver-2019 我按照所有步骤操作,效果很好(没有拒绝,邮件排队等待投递)。
如果我对第二台服务器执行相同操作,我会得到:

450 4.1.0 当主 MX 可用时,请勿使用备份 MX“relay.rzone.de” - 请将您的邮件发送至....

因此,第二台服务器拒绝了,因为它认为第一台服务器可用。但是为什么它不能“正常”工作(而它可以与 telnet 一起工作)?域用户仍然无法向他需要通信的一个地址发送邮件。
我们发送了数千封邮件,只有一个域有这个问题。

答案1

通常,如果域有多个 MX 记录,其中一个记录将用作“备份” - 具有较高的优先级编号,因此通常不会被选为电子邮件传递的目标。如果优先级较低的主机出现错误,发送电子邮件服务器将传递到“备份”主机:来源

对于 Exchange 服务器,据我所知,似乎没有设置来指定出站电子邮件收件人的 MX 记录。

在您的场景中,编号较低的主机“MX 10 good.server”应该具有更高的接收电子邮件优先级,我怀疑它上面发生了一些事情。因为乔奎蒂话虽如此,您可能需要在 Exchange 服务器和目标服务器之间手动建立 SMTP 会话。

此外,发件人收件箱文件夹中的NDR(无法送达的消息)应该告诉我们导致传送失败的一些原因(例如增强状态代码)。

相关内容