4.5.1 4.4.0 DNS查询失败

我们正在运行Exchange 2010,最近我注意到一些传出的邮件被阻塞在错误“451 4.4.0 DNS查询失败”的队列中。 在发生这种情况的每个域上,我已经能够使用nslookup来查找MXlogging并通过SMTP打开与服务器的连接,所以我相当确定这个问题在我的最后。 我的发送连接器不是通过智能主机路由邮件,也不是设置为使用不同的DNS服务器来执行查找,所以我难以理解为什么这些消息不会出去。 有任何想法吗?

4.xx回复代码是一个临时代码,所以Exchange会一直尝试,直到重试间隔到期。 你可能会尝试的是在Exchange服务器上安装一个数据包捕获程序(Microsoft Network Monitor是一个好的),然后开始捕获并让它运行一段时间。 您可能会设置一个捕获filter来仅捕获SMTP和DNSstream量,从而保持较低的捕获开销。 运行捕获之后,可以在某个问题域中向用户发送电子邮件,或者等待当前排队的电子邮件重试(或强制重试),然后查看捕获中显示的内容,首先键入DNSstream量看看事情是否正确解决,然后继续看SMTPstream量,以查找发生的事情的线索。

Exchange 2010似乎总是在查询IPv4地址之前查询邮件服务器的IPv6地址。 假设DNS服务器有一个域名的IPv4地址,但没有IPv6地址。 当DNS服务器收到域名的IPv6地址请求时,应该发送一个地址为零的成功响应。 如果你在这样的域上运行nslookup,像这样:

nslookup -type=aaaa mail.foo.com 

你应该看到回应:

 *** No IPv6 address (AAAA) records available for mail.foo.com 

Exchange似乎将这种回应称为“我没有该域的任何IPv6地址,但是我可以让您感兴趣的是您的IPv4地址吗?”

至less在我遇到你描述的451错误的一个案例中,我从nslookup得到了这样的回应:

 *** ns.mynameserver.com can't find mail.foo.com: Query refused 

如果这就是你所看到的,唯一真正的办法是联系域pipe理员,并要求他们改变他们的DNS服务器的行为。 他们可能完全过滤掉IPv6查询,这似乎是一个坏主意。

我想build议您告诉Exchange 2010停止询问邮件服务器的IPv6地址,但是尽pipe有很多谷歌search,我不知道这是否可能。

我刚刚在Exchange 2007服务器上遇到了这个问题,但所有电子邮件都在排队。

为了解决它,我修改了发送连接器networking属性为“使用域命名系统…”和“使用外部DNS查找…”
(Org Config, Hub Transport, Send Connectors tab, right click send connector having issue.)

此外,我将外部DNS服务器添加到外部DNS查找。
(Server Config, Hub Transport, right click the hub server, properties, External DNS Lookup tab, Use these DNS Servers...)

服务器能够parsingMXlogging,队列开始处理。