1
yukiww233 2018-09-06 13:47:00 +08:00
|
2
isyes 2018-09-06 14:51:50 +08:00
mx 记录和 a 记录的目的都是一样的,dig mx 无非就是为了找到一个 ip 地址,然后邮箱服务往这个 ip 地址发信就可以,可以把 mx 记录和 a 记录对应的 ip 地址配成一样的
cname 跟 web 服务没有关系,为什么存在 cname ?主要还是管理方便,楼上的场景就是这样子,free365.tw 可能不是自己提供邮件服务,例如腾讯企业邮箱,是托管在 mail.0du.win 邮件服务提供上,当然最原始的方法是 mail.0du.win 邮件服务提供商直接把邮件服务器所以 ip 地址告诉 free365.tw ,然后 free365.tw mx 记录配置上去,但是 mail.0du.win 的邮件服务器地址可能经常变化,不可能变化一次,就通知 free365.tw ,free365.tw 就更改解析记录,free365.tw 不累死了么,所以 mail.0du.win 就告诉 free365.tw ,你 cname 到 mail.0du.win 就可以,这样邮件服务器地址发生变化,free365.tw 的解析记录就不用做任何修改。 大概就这样子 |
3
mytsing520 2018-09-06 15:04:59 +08:00
@isyes 这种做法是可以,但不是一种规范化的操作
|
4
qiayue 2018-09-06 15:14:15 +08:00
@mytsing520 你说哪个操作不是规范化的操作?
|
5
raysonx 2018-09-06 15:25:35 +08:00 via Android
CNAME 是域名别名,并不局限于 A 记录。
|
6
mytsing520 2018-09-06 20:20:03 +08:00
@qiayue 通过 CNAME 指向其他域名,在其他域名上设置 MX 记录属于不规范操作,很多邮局不认可这是一个正常地址,丢件概率比较高
|
7
orzfly 2018-09-06 22:00:38 +08:00
@mytsing520 “很多邮局不认可这是一个正常地址”[citation required]
|
8
dreamflyman OP @isyes 大佬,其它邮箱如 [email protected] 给 [email protected] 这样的地址发邮件是怎么实现的? qq.com 邮件服务器通过 mx 记录查不到收件服务器 ip,就通过 cname 的记录查询背后的收件服务器 ip 是吧?网上经常有人说 cname 不能和 mx 共存,是不是也是这个原因?
|
9
mytsing520 2018-09-07 07:08:50 +08:00
@orzfly CNAME 本身具有唯一性、排他性,参考 RFC1034 3.6.2。
很多邮件服务商在检查收信人域名时,仅按该邮件所在的域是否存在 MX 记录作为是否能有效收信的标准。(差不多是这个样子) @dreamflyman CNAME 与 MX 不能共存,详见 RFC1034 3.6.2。 |
10
isyes 2018-09-07 11:35:36 +08:00
qq.com 邮件服务器会通过公共 DNS 查询 laotie666.com 的 mx 记录,DNS 服务器会看 mx 记录有没有,cname 这个记录很特殊,没有 mx 记录,DNS 权威服务器就会看有没有 cname 记录,然后返回 cname 记录给公共 DNS,然后公共 DNS 会帮你查到这个 cname 之后域名的对应的 IP 地址,然后返回发件服务器,发件服务器对于他来说只要拿到一个 ip,然后往这个 ip 的 smtp 端口发消息就可以,后面就是 smtp 协议干的事情了。
cname 和 mx 记录不能共存,cname 的中文意思是规范名称,看这样一条 cname 记录,www.baidu.com cname a.shifen.com ,www.baidu.com 是标准说法是别名,a.shifen.com 是正儿八经的名字,所以 rfc 是这样说的,只有正儿八经的名字可以继续有解析记录,www.baidu.com 不能再有 RR,因为你本身就是别名,不知道这个解释合理么 标准的 DNS 权威软件像 bind,nsd,powerdns,knotdns 都是遵循 RFC 规范,当然不共存,但是自研的 DNS 软件一般都是共存的,因为给公共 dns 同时返回一个 cname 和 mx 记录,也没有坏处。a 记录和 cname 记录共存更是最基本的需求 |