假设我为域example.com提供以下DNS活动(省略优先级和ttl)
example.com A 123.45.67.89 mx.example.com A 123.45.67.89 example.com MX mx.example.com
现在,这是一个有效的DNS记录.如果我要添加以下mx记录,会导致任何问题吗?
mx.example.com MX mx.example.com
我测试了这个,它似乎工作,但我想确定.
原因是,我总是使用mailaddress@mx.example.com发送电子邮件,而不添加最后一条mx记录.但是有些服务失败是因为他们没有使用主域,而是检查子域是否存在mx记录.添加mx记录似乎是所有服务工作,但我现在担心它可能会导致实际发送/接收电子邮件的问题.
另外,我已经将新mx记录的优先级设置为低于原始记录,所以理论上应该让它始终选择第一个,但我很好奇,如果优先级被颠倒,它甚至可以工作.
解决方法
指向自身的MX RR完全有效,不会造成任何问题.但是,这可能被认为是多余的,因为一般规则是,如果域名没有MX RR而是A RR,则后者应用于邮件传递.换句话说,当没有明确的MX RR存在时,隐含地假设指向自身的MX RR.
请注意,您的示例代码存在语法问题. FQDN缺少最终点,MX RR缺少优先级字段.它应该是:
example.com. A 123.45.67.89 mx.example.com. A 123.45.67.89 example.com. MX 10 mx.example.com. mx.example.com. MX 10 mx.example.com.
或者,等效地:
$ORIGIN example.com. @ A 123.45.67.89 MX 10 mx mx A 123.45.67.89 MX 10 mx
(如果整个是域example.com的区域文件的一部分,$ORIGIN指令是多余的.)