我们正在使用第三方服务提供商发送交易电子邮件。我最近注意到,特定接收域的失败率有所增加。
发送失败,并出现错误“498 No MX for example.com”。
发送会在给定的延迟后重试,通常经过几次重试后就会成功。但有时,它们会超出重试限制并被永久丢弃。
我联系了提供商的支持人员,他们告诉我这是由于接收域名从不同的提供商声明 MX 造成的。
$ dig mx example.com
;; ANSWER SECTION:
example.com. 859 IN MX 25 mail05.example.com.
example.com. 859 IN MX 20 mail11.example.net.
他们指的是,一个 MX 正在使用example.com
,另一个 MX 正在使用example.net
,这显然是不好的做法,可能会导致上面描述的错误。
这是我第一次听到这样的事情,我会立即称其为 BS,但我想我会给他们一个机会并听听其他人对这个话题的看法。
答案1
他们大多是错误的。
拥有多个 MX 并不是坏习惯,拥有一个或多个主机名在另一个域中的 MX 也同样不是坏习惯。事实上,人们曾经经常在自己的域中将自己的邮件服务器设置为主 MX,然后将其 ISP 的邮件服务器设置为辅助 MX。
可能相关的一个微小部分是,如果其他域中的 MX 无法正确解析,例如,如果域example.net
存在 DNS 问题,那将是一个问题。但这就是您拥有多个 MX 的原因 - 如果一个失败,其他 MX 仍可正常工作。
你应该回复提供商并指出RFC 5321,第 5.1 节。这段话有点太长了,但大意是,如果有多个 MX,则发件人必须至少尝试前两个,并且对将它们放在单独的域中没有限制。
答案2
不,这太荒谬了。拥有此选项是您可以指定具有不同优先级的多个 MX 的主要原因之一。
肯定还有另外一个问题。