我一直在读这个:http://www.zytrax.com/books/dns/ch8/mx.html
对于 MX 记录,我已经通过 bind 设置了我的名称服务器。这是我的网站的区域文件:
$TTL 86400
@ IN SOA ns1 root (
2 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
; Specify our two nameservers
IN NS ns1
IN NS ns2
; Nameserver resolve
ns1 IN A 1.1.1.1
ns2 IN A 2.2.2.2
; Mail server
IN MX 10 mail
; Hostnames
@ IN A 2.2.2.2
www IN A 2.2.2.2
mail IN A 1.1.1.1
我托管了 postfix 和 dovecot。我无法远程接收电子邮件,我已将其缩小到我的 DNS 对 MX 请求没有正确响应。
Dovecot 和 postfix 都托管在 1.1.1.1 上(我已更改服务器 IP)
更改配置并重新启动绑定后,
dig example.com MX @localhost
编辑:我尝试过 mail.example.com 和 example.com。都失败了。我已将这个问题更新为 example.com,因为我最初发布了 mail.example.com 的挖掘(这是我的错误。不过它已更新。)
我收到了,
;; QUESTION SECTION:
;example.com. IN MX
;; AUTHORITY SECTION:
example.com. 86400 IN SOA ns1.example.com. root.example.com
;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Thu Jul 3 15:29:40 2014
;; MSG SIZE rcvd: 79
编辑:我想说的是,其他一切都很好。例如 www.example.com
答案1
一个非常棘手的配置错误。通过以既没有主机名、区域名称也没有区域原点的简写开头的一行@
,成为上述记录的延续。
ns2 IN A 2.2.2.2
; Mail server
IN MX 10 mail.example.com.
实际上是
ns2 IN A 2.2.2.2
; Mail server
ns2 IN MX 10 mail.example.com.
并不是你想要的:
ns2 IN A 2.2.2.2
; Mail server
example.com. IN MX 10 mail.example.com.
或者你应该使用:
@ IN MX 10 mail.example.com.
答案2
我觉得你漏了一个点。应该是
IN MX 10 mail.example.com.
或者
IN MX 10 mail
否则它将与您的区域相关,即导致mail.example.com.example.com.
。
我不确定这是否真的是问题,但请尝试一下。
答案3
如果您不更改区域文件的序列号,它将不会更新任何内容。
SF 上已经有一个关于 DNS 区域文件中序列号的重要性的问题:DNS 记录序列号
重新读取您的区域后,我认为您的 MX 没有被正确“声明”。
它应该读
example.com. MX 10 mail.example.com.