找回密码
 创建账号

裸域设置CNAME记录和MX记录导致MX记录失效邮箱收不到邮件

php 发表于 2018/7/20 22:52 | 显示全部楼层 |阅读模式
根据 RFC1912,CNAME 记录不能和其他类型的解析共存,多数情况下,一个域名的裸域会设置多个解析记录,如 MX,CNAME,TXT. 和 CNAME 同名的记录会导致 CNAME 和其他记录发生冲突。

PS:裸域是指不带前缀的根域名,比如 wuxiancheng.cn 是裸域,而是 www.wuxiancheng.cn 是 wuxiancheng.cn 的二级域名。对于不同的管理面板,设置裸域解析时,有的主机名需要写作@,而有的直接省略不填,有的面板要求填写完整的主机名,那就要填写完整的域名。

因为 CNAME 记录不能和其他同主机名的记录共存,很多域名注册商不支持为裸域创建 CNAME 记录,只能使用 IP 地址设置 A 记录或 AAAA 记录,其中 A 记录的记录值是 IPv4 地址,AAAA 记录的记录值是 IPv6 地址。

而有些域名注册商支持同名 CNAME,比如为裸域创建了 CNAME 记录,又为裸域创建了 MX 记录,即 CNAME 记录和 MX 记录的主机名都是@

这种情况会有一个巨坑,它会导致 MX 记录失效,比如,在 BLUEHOST 这样设置不会有错误提示,但是会导致 MX 记录无法解析,对外呈现出没有设置 MX 记录的假象。这会导致邮箱收不到发进来的邮件,但是发邮件不会受影响,这种错误很难发现,而会被认为是没有邮件发进来。

最安全的方法,还是不要为裸域设置 CNAME,把它设置为 IP 地址的 A 记录或者 AAAA 记录,这样就不会出现 CNAME 和 MX/TXT 记录冲突的情况,如果 IP 地址会经常发生变化,可以使用域名管理 API 通过程序来动态设置域名记录值。

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表