LPC*_*hip 7 domain-name-system mx-record
假设我有以下域的活动 DNS example.com(忽略优先级和 ttl)
example.com A 123.45.67.89
mx.example.com A 123.45.67.89
example.com MX mx.example.com
Run Code Online (Sandbox Code Playgroud)
现在,这是一个有效的 DNS 记录。如果我添加以下 mx 记录,会导致任何问题吗?
mx.example.com MX mx.example.com
Run Code Online (Sandbox Code Playgroud)
我已经测试过了,它似乎有效,但我想确定一下。
原因是,我总是使用 mailaddress@mx.example.com 发送电子邮件,而没有添加最后一条 mx 记录。但是有些服务会失败,因为它们没有使用主域,而是检查子域(如果该 mx 记录存在)。添加 mx 记录似乎可以让服务正常工作,但我现在担心它可能会导致实际发送/接收电子邮件的问题。
此外,我已将新 mx 记录的优先级设置为低于原始记录,因此理论上应该使其始终选择第一个,但我很好奇如果优先级颠倒它甚至会起作用。
Til*_*idt 16
指向自身的 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.
Run Code Online (Sandbox Code Playgroud)
或者,等效地:
$ORIGIN example.com.
@ A 123.45.67.89
MX 10 mx
mx A 123.45.67.89
MX 10 mx
Run Code Online (Sandbox Code Playgroud)
($ORIGIN如果整个指令是域的区域文件的一部分,则该指令是多余的example.com。)
你好像把自己搞糊涂了。DNS MX-RR 格式domain MX pref name用于表示具有名称的服务器name将是域的 MX domain。
在您的情况下,您是说具有名称的服务器mx.example.com将处理mx.example.com域的邮件。这是完全有效的,但在我看来,您想为example.com.
小智 5
我想您的问题的核心已得到解答,但您可能想澄清一些困惑: