DMARC 记录

The Readdle Team
创建:

定义

💡  DMARC 记录:一条 DNS 条目,用于告诉接收邮件服务器,当声称来自你域名的邮件未能通过身份验证检查时该如何处理。 它建立在 DKIM 和 SPF 之上,是真正执行你邮件安全策略的机制。 可以把它看作决定可疑邮件是被投递、隔离还是直接拒收的规则。

你真的需要它吗?

如果你使用个人 Gmail 或 Outlook 地址发送邮件,你无需接触 DMARC。 Google 和 Microsoft 会为你处理好。

但如果你使用自定义域名发送邮件(you@yourcompany.com),这就是你的责任了。 Google 和 Yahoo 在 2023 年宣布批量发件人必须部署 DMARC,2025 年底 Gmail 开始严格执行,不合规的邮件现在会面临临时或永久拒收。 Microsoft 也在 2025 年针对大量发件人推出了类似规则。

当你的邮件毫无明显原因地开始进入垃圾邮件时,你可能会第一次接触到 DMARC。 或者你的域名注册商标记出缺失了身份验证记录。 或者客户的 IT 团队询问为什么你的邮件未能通过他们的安全检查。 就在那一刻,这件事不再是抽象的概念了。

用自定义域名发送新闻通讯或客户邮件? 设置它。 这已不再是可选项。

DMARC 实际上做什么

没有 DMARC 策略,接收服务器在收到未能通过身份验证检查的邮件时,只能自行判断。 有时它照样投递。 有时则不然。 你既看不到情况,也无法控制。

DMARC 改变了这一点。 你的记录会明确告诉接收服务器如何处理这些未通过验证的邮件:正常投递(p=none)、发送到垃圾邮件(p=quarantine),或完全拒收(p=reject)。 你还会获得报告。 接收服务器会每天向你发送数据,显示哪些邮件通过了身份验证、哪些未通过,以及哪些 IP 地址代表你的域名发送了邮件。

最后这一点正是 DMARC 对小企业最有价值的地方。 没有它,有人可能会发送看起来完全来自你公司地址的钓鱼邮件。 你的客户被骗,怪罪于你的品牌,而你却毫不知情。 报告会告诉你。 执行策略会阻止它。

它不仅仅是一项安全措施。 它也是一项邮件送达率措施。

DMARC 记录的结构

DMARC 记录以 TXT 记录形式存在于你的 DNS 中,发布在 _dmarc.yourdomain.com。 一个基本记录看起来像这样:

v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com

你需要了解的关键部分:

p= 是你的策略。 从 none 开始(仅监控,不采取任何操作)。 一旦确认你的合法邮件都通过了身份验证,就切换到 quarantine,再到 reject。

rua= 是你的汇总报告的接收地址。 这是接收来自接收服务器每日 XML 摘要的电子邮件地址。 你会想为这些报告专门设立一个收件箱,因为数量可能会迅速累积。

v=DMARC1 只是版本标签。 始终为 DMARC1。

说实话,基本设置所需的大部分就是这些了。 其他标签(adkim=、aspf=、sp=)控制对齐严格程度和子域名策略,但第一天你无需担心这些。

如何设置 DMARC 记录

DMARC 是一项 DNS 操作。 你要向域名添加一条文本记录。 但在动手之前,请先确保 SPF 和 DKIM 已经配置并通过验证。 Google 建议在设置 SPF 和 DKIM 后等待 48 小时,再添加 DMARC 记录。 如果你跳过这一步,很可能会给自己的邮件造成送达问题。

通用设置(适用于任何域名注册商):

  1. 确认你的域名已启用 SPF 和 DKIM。 使用 MXToolbox 的免费 DMARC 查询工具进行检查。
  2. 使用免费工具生成你的 DMARC 记录,比如 EasyDMARC 的记录生成器 MXToolbox 的 DMARC 生成器。 从 p=none 开始。
  3. 登录你的域名注册商或 DNS 提供商(Cloudflare、GoDaddy、Namecheap 等)
  4. 添加一条新的 TXT 记录。 将 Name 设置为 _dmarc,并将生成的策略字符串粘贴为 Value。
  5. 保存并等待最多 48 小时以完成 DNS 传播。
  6. 使用 MXToolbox 的 DMARC 查询工具验证它是否生效。

对于 Google Workspace:Google 的 官方 DMARC 设置指南专门介绍了针对 Workspace 域名的设置过程。

对于 Microsoft 365:Microsoft 的 DMARC 配置文档涵盖了 365 环境的设置。

你无需在 Gmail、Outlook 或 Spark 内部配置任何内容。 DMARC 完全存在于 DNS 层面,而非你的邮件客户端内部。

如何在不破坏邮件的情况下部署 DMARC

先设置 SPF 和 DKIM。 没有它们,DMARC 无法工作。 如果你跳过这一步,很可能在解决任何问题之前就先给自己的邮件造成送达问题。 别跳过它。

从 p=none 开始并等待。 不要急于切换到 p=reject。 花上一两周时间仅收集报告。 你很可能会发现一些自己忘记的、正代表你发送邮件的工具。 这很正常。 常见的包括 Mailchimp、CRM、发票软件,以及任何使用你的域名地址发送邮件的工具。

检查每一个代表你发送邮件的工具。 在你收紧策略之前,每一个工具都需要经过正确的身份验证。 遗漏其中一个是最常见的出错原因。 你切换到 p=reject 后,突然你的 Mailchimp 新闻通讯无法送达,因为你忘了通过 ESP 配置 DKIM。

使用仪表板工具查看报告。 原始报告是 XML 文件。 对大多数人来说难以阅读。 EasyDMARC 或 MXToolbox 的免费套餐可将它们转换成人类可读的内容。 用一个吧。

最终切换到 p=reject。 p=none 是一个起点,而非终点。 在你到达那一步之前,你的域名仍可能被伪造。 目标是完全执行。 只是需要几周时间才能安全地到达那一步。

相关术语

The Readdle Team
Spark

智能、聚焦、邮件。

超高效兼跨平台:专为静忧收件设计,专心聚焦重要事项。