周六晚上,我并没有收到任何关于 Waline 留言提醒的邮件通知。直到我在网站上公开发布了一篇新文章,才在页面侧边栏里意外地看到了访客留下的新留言内容。起初我以为是 Q 邮系统出现了问题,毕竟我的邮箱很久没清理了,说不定邮件大小已经超过了 2GB 限制。于是决定删除 Q 邮中所有的收件,试图从根源上排除故障,但问题依旧没有解决。

我随后详细阅读了 Resend 后台提供的两条建议。第一条建议是“不要使用 noreply 作为发件人”,但我发现这条对我没什么实际帮助,因为我的邮件是由 Waline 评论系统发送的提醒邮件,发件人地址当然要是 noreply,我认为这是一种提醒;第二条建议是“你没有配置任何的 DMARC”,这条立刻引起了我的重视,因为它提到了邮件容易被误判为垃圾邮件的可能性。

为了搞清楚 DMARC 的具体含义,我特意请教了 DeepSeek。它告诉我,DMARC是一个专门用于邮件验证的 TXT 记录类型的子域名。从 2024 年开始,各大主流邮件服务商大幅收紧了收信规则,如果你的发件域名没有配置 DMARC 策略,那么发出的邮件有很大概率会被对方服务器拒收或直接丢进垃圾箱。由此可知,DMARC 相当于你给邮箱服务商(Gmail、QQ 邮箱等)的一份“官方授权说明书”。

在 Cloudflare 上配置 DMARC 其实非常简单,官方提供了十分详细的文档。第一步,为你的域名创建一条新的DNS记录,记录名称填写 _dmarc,记录类型选择 TXT。第二步,在记录值中写入这些内容:

1
v=DMARC1; p=none; adkim=r; aspf=r; rua=mailto:example@domain.com;

注意把其中的 example@domain.com 替换为你自己的邮箱地址,因为 rua 值需要指向负责接收报告的邮箱。

完成上述设置后,还需要等待一段时间,因为 DNS 记录的修改需要一定时间才能在网络中完全传播生效。另外,Resend 在遇到邮件发送失败的情况下,会自动间隔一段时间后重新尝试发送,所以你不必因此过度焦虑,放心去睡觉就好。当然,如果你使用的是自己搭建的邮件系统或者其他第三方服务,那就需要手动处理那些问题了。