域名邮箱踩坑记
更新
1月7号更新:
评论区面条大佬的评论给了我启示,加上和博主 hary 交流,我意识到根本问题并非是 MX 和 CNAME 冲突。而是我在 dnspod 设置的线路中,@ 记录里海外都是 CNAME 解析到 vercel,因此导致海外邮箱发的邮件我无法正常收到。
禁用掉海外线路(事实上可以)或者额外添加 MX 记录的海外线路(理论上可以)就好了。
前言
我此前在博客分享过一篇《免费企业邮靠谱吗》,粗略对比了一下几家免费企业邮,而我最终选择了阿里云。
域名邮箱主要用作博客的评论通知,大多数时候,邮件的收发都正常,直到某次收不到特定网站的邮件后,我开始排查问题所在。
问题简述
大名鼎鼎的 Gravatar 我想不用过多介绍。在 2021 年的时候,我使用我的域名邮箱 admin@hin.cool
注册了账户,并上传了头像,那时候使用的是腾讯企业邮,注册时能收到 Gravatar 的注册邮件。
但是最近我想登陆 Gravatar 修改头像。由于 Gravatar 的密码我已不记得,并且该网站默认把登录链接发送到邮箱点击登陆,我发现自己根本收不到邮件,也就无法正常登陆 Gravatar。
问题排查
起初,我想着我的邮箱基本上都能正常收发邮件,于是怀疑是政策原因,阿里云那边屏蔽了该服务发来的邮件(毕竟 Gravatar 的域名都被屏蔽了)。联系阿里云客服,对方明确他们没有做这个限制,于是我的方向又转到 MX 和 CNAME 记录冲突的问题上。
联系我的域名解析服务商腾讯云,对方告诉我,Dnspod 默认支持 cname flattening
,但是需要满足三个要求:
1.前后域名都要在dnspod,
2.cname 和 mx 记录都要存在,
3.cname 记录,前后域名,包括整个 cname 解析线路的域名,都要开启 cname 加速。
在电话沟通中,工作人员询问我使用的 CDN,得知不是腾讯云 CDN 后,对方肯定地说“那肯定不支持”。
要解决冲突问题也很简单:
1.把博客解析到 www,@
解析用显性 URL 跳转;
2.博客地址不变,把 MX 解析到二级域名;
3.博客地址不变,@
解析到 IP,不会和 MX 解析冲突。
这三种方法中的一二我都不是很喜欢,因为我之前才把博客从 www 解析换成@
解析;把邮箱解析到二级域名也要换邮箱地址,不能解决我登录不上 Gravatar 的问题,并且会导致其它我用一级域名邮箱注册的账户无法正常使用。第三种方法是最好的,可惜 CDN 那边不提供 IP 解析。
于是我只能用私人邮箱联系 Gravatar 。给 support 发了邮件之后,收到了一封邮件,但是回复后再也没收到来信。好不容易在 WordPress 的支持网页上发现了一个找回登陆账户的表单,填写后,收到一封机器人发的邮件,第二封邮件的内容和此前我直接联系 support 的回复相差无几,没有任何实质性的帮助。
我提交的表单里详细阐述了我当前面临的问题,提供了账户的注册时间,以及他们特有的验证之一(比如绑定的信用卡、注册邮件的识别码等),或许他们觉得我提供的这些信息还不能证明我确实是该账户的所有者?
问题解决
在等不来 Gravatar 的进一步回复后,我突然想到了 vercel !vercel 不是提供 IP 解析吗!
我的博客分境内外解析,默认是解析到国内的 CDN,境外访问解析到 vercel。我暂停了国内的解析,默认解析到 vercel 的 IP 之后,阿里云邮箱那边提示的记录冲突也不见了。尝试登陆 Gravatar,立马收到了邮件!
重置密码后,我记住了新密码,并绑定了辅助邮箱以免后面再次需要找回密码时收不到邮件。
总结
其实博客圈里有很多博主都有自己的域名邮箱,并且很多博主的邮箱后缀也都是一级域名,目前不清楚这些博主是否也遇到过类似的问题。
现在想来,我最初能收到 Gravatar 的注册邮件,是因为我一开始博客解析到 www 上的,一级域名做了 301 跳转。变更后无法收信并非腾讯企业邮丢件,归根结底还是解析冲突的问题。
如果未来有更多博主打算使用域名邮箱,建议一开始就考虑清楚,选择一种自己相对更喜欢的方案,来避免 MX 记录和 CNAME 记录的冲突。