边缘传输服务器上的神秘邮件循环:检查大小限制!

原文发布于 2013 年 3 月 29 日(星期五)

我是 CSS 的支持工程师。在过去的工作中,有客户报告在像 contoso.com 这样的特定域中出现了邮件循环错误,而且此错误只出现在大的电子邮件中。这个问题真的很神秘,直到你发现邮件循环是由于发送连接器上的大小限制导致的。我认为这个古怪的问题值得与大家分享。

了解配置和问题的根源:

我最初认为,这个问题可能是由于将边缘服务器配置为使用外部 DNS 服务器(用于解析外部主机的 DNS 服务器)而导致的。通常,在将边缘传输服务器配置为使用外部 DNS 服务器之后,它会将域名解析为公共 IP 地址(一般指向自己、外部防火墙或服务提供程序)而非 Active Diectory 网站中的集线器传输服务器,从而导致邮件循环。

在重现问题时,我发现边缘传输服务器并未配置为使用外部 DNS 服务器。我设置的用于重现问题的环境如下图所示:

clip_image002

 

在此方案中出现情况是:当边缘传输服务器接收到来自 Internet 发件人的 20 MB 大小的电子邮件时,它将会接受邮件。边缘传输服务器有两个用于匹配地址空间的连接器:一个用于将地址空间 contoso.com 匹配到 Active Directory 网站,另一个用于匹配地址空间 *。当基于所有可用连接器来决定路由时,从边缘到集线器的路由将不会予以考虑,因为它存在大小限制(大小限制为 10 MB)。最优匹配是从边缘到 Internet 的 * 连接器(请查看了解邮件路由中记述的连接器选择逻辑),它的邮件大小限制为 30 MB。

最终结果:邮件将被路由回 Internet,从而导致在 Internet 和边缘服务器之间出现邮件循环。

根据是否将指向 Internet 的发送连接器配置为使用 DNS 或智能主机来传送出站邮件,我们将会收到以下 NDR 之一:

如果使用 DNS:

#554 5.4.4 SMTPSEND.DNS.MxLoopback; 此域的 DNS 记录的配置出现循环##

如果使用智能主机:

5.4.6 smtp;554 5.4.6 跃点计数已超过 - 可能存在邮件循环> #SMTP#

解决方案

这种行为是设计使然,可以通过修改连接器上的邮件大小限制轻松地加以修正。根据您的要求,您可以选择以下选项之一:

  • 在接收连接器(用于接收来自 Internet 的入站邮件)上将 MaxMessageSize 参数设置为 10MB,以便将来自 Interent 的邮件的大小限制为 10 MB。
  • 在从边缘到集线器的发送连接器上将 MaxMessageSize 设置为 30MB,这将允许您从外部发送者接收 30 MB 大小的邮件。

神秘问题解决了!感谢 Arindam Thokder 和 Scott Landry 帮助我准备这篇博客!

Suresh Kumar (XCON)

这是一篇本地化的博客文章。请访问 Mysterious mail loop on Edge Transport server: Check your size limits! 以查看原文