设置 DMARC 归结为发布一条 DNS TXT 记录,但顺序很重要:先让 SPF 和 DKIM 正常工作,以监控模式启动策略,待报告数据无异常后再收紧策略。以下是完整步骤,包括如何在 cPanel 中添加记录。
第 1 步:确认 SPF 和 DKIM 已正常工作
DMARC 建立在 SPF 和 DKIM 的基础上,因此在 DMARC 发挥作用之前,它们必须先就位。SPF 列出了被允许为你的域名发送邮件的服务器;DKIM 对你的邮件进行签名,以便接收方验证邮件未被篡改。如果二者中任一缺失,你一旦开始执行策略,正常邮件就可能无法通过 DMARC。
检查你是否已发布 SPF 记录,以及你的发送平台是否正在使用 DKIM 对邮件签名。Bird 的工作方式略有不同:你在设置发送域名时发布一条 DKIM 记录和一条 return-path CNAME,SPF 通过该 return-path 进行对齐,无需在根域名发布记录,因此域名验证通过后即可使用 DMARC。
第 2 步:构建你的 DMARC 记录
从简单开始。一条仅监控的记录如下所示:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
这会发布一条有效的策略,不执行任何强制措施,并要求接收方将每日汇总报告发送到 rua 中的地址。使用一个你会实际查看的邮箱,或一个可以指向报告解析服务的专用地址。关于每个可用标签的详细说明,请参阅什么是 DMARC 记录。
暂时保持 p=none。监控模式是安全的起点,你将在第 5 步中收紧策略。
第 3 步:在你的 DNS 托管商处添加记录
该记录以 TXT 条目的形式添加到 _dmarc 子域名下的 DNS 中。你需要填写的字段在各处大致相同:
- Type:
TXT - Host / Name:
_dmarc(部分托管商需要填写完整的_dmarc.yourdomain.com) - Value / Content:第 2 步中的记录
- TTL:保持默认值,或填 3600
保存即完成发布。命名是最容易出错的地方:输入 _dmarc,而不是你的裸域名。
如何在 cPanel 中添加 DMARC 记录?
cPanel 足够常见,值得单独说明。在 cPanel 中,DNS 记录位于 Zone Editor。
- 登录 cPanel,打开 Zone Editor(在 Domains 部分下)。
- 找到你要保护的域名,点击 Manage。
- 点击 Add Record,然后从下拉菜单中选择 Add "TXT" Record。
- 在 Name 字段中输入
_dmarc.yourdomain.com.(cPanel 通常会自动附加域名,因此填_dmarc可能就够了;如果显示的是完整名称,请加上末尾的点)。 - TTL 保持默认值。
- 确认 Type 设置为
TXT。 - 在 Record / TXT Data 字段中粘贴
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com。 - 点击 Save Record。
完成。cPanel 会将该条目写入你的区域文件,DNS 传播后即开始解析(通常几分钟,偶尔最多一天)。
第 4 步:验证记录是否已生效
不要想当然,动手检查。最快的方法是在终端执行一次 DNS 查询:
dig +short TXT _dmarc.yourdomain.com
你应该能看到你的记录被原样返回。在 Windows 上,nslookup -type=TXT _dmarc.yourdomain.com 可以完成同样的操作。许多免费的 DMARC 检查工具也可以在浏览器中获取并验证记录。如果没有返回结果,稍等片刻让 DNS 传播,然后确认主机名是 _dmarc 而不是裸域名。
第 5 步:阅读报告,然后收紧策略
这正是 DMARC 发挥价值的地方。一两天内,汇总报告会开始到达你的 rua 邮箱。持续关注,直到你确认每个合法发件方都已通过身份验证并完成对齐。阅读 DMARC 报告介绍了各字段的含义。
数据无异常后,逐步提升策略。从 p=none 升到 p=quarantine,再观察,然后升到 p=reject 以实现完全强制执行。早期指南建议通过 pct= 标签逐步过渡到隔离;标准已移除该标签,因此请直接切换 p=。策略阶梯的详细说明见什么是 DMARC 策略。
如果在收紧过程中正常邮件开始失败,不要慌张,也不要盲目回退。如何修复 DMARC 失败涵盖了常见原因,几乎总是对齐缺口或你忘记验证的发件方。
关于 Bird 的具体设置,SPF、DKIM 和 DMARC 指南提供了适用于你账户的确切记录和值,你也可以在发送域名中管理所有配置。