Authentication · RFC 7489 · 更新于 May 2026

DMARC

Domain-based Message Authentication, Reporting and Conformance

DMARC(Domain-based Message Authentication, Reporting and Conformance)是叠加在 SPF / DKIM 之上的邮件认证策略层(RFC 7489):告诉收件方在 SPF 或 DKIM 失败时应如何处置,并请求他们把聚合或 forensic 报告回传给域名所有者。

§1

定义

DMARC(Domain-based Message Authentication, Reporting and Conformance)是叠加在 SPF 与 DKIM 之上的策略层,定义在 RFC 7489 中。SPF 与 DKIM 各自验证一种不同的信号;DMARC 告诉收件方两件事:(1) 当两种信号都没有与可见的 From: 头 "对齐" 时,该如何处置(none / quarantine / reject);(2) 聚合报告(RUA)与 forensic 报告(RUF)应发往何处。策略以 TXT 记录形式发布在 _dmarc.{domain}

§2

语法

v=DMARC1; p=none; rua=mailto:dmarc-agg@yourcompany.com; pct=100; adkim=r; aspf=r

关键标签:

  • p= — 策略:none(仅监控)、quarantine(进入垃圾邮件夹)、reject(拒收)。
  • rua= — 聚合报告投递地址(每个收件方每日一份 XML)。
  • ruf= — forensic / failure 报告(罕见;只有少数收件方会发)。
  • pct= — 对失败邮件应用该策略的百分比(rollout 调节旋钮)。
  • adkim= / aspf= — 对齐模式:r relaxed(在组织域名级匹配)或 s strict(与 From: 精确匹配)。

§3

标准 rollout

跳过 p=none 是 DMARC 最常见的错误 — 在还没完全摸清自己邮件流量构成的域名上直接上 p=reject,会悄无声息地拒掉合法邮件(forwarder、mailing list、CRM 工具)。标准 rollout 是:(1) 部署 p=none 并开启 RUA 报告,观察每日报告两到四周;(2) 修复报告中暴露出的未认证 stream;(3) 逐档推进 p=quarantine; pct=1050100;(4) 当聚合报告显示整周零合法失败后,最终定格在 p=reject; pct=100

§4

为什么 2026 年 DMARC 这么重要

Google 与 Yahoo 在 2024 年 2 月 同步更新了 bulk-sender 政策,要求向其用户每日发送超过 5,000 条消息的发件方必须配置 DMARC(Google 官方说明)。对于用 AcelleMail 配合 Amazon SES 在规模上自托管的运营方而言,DMARC 对齐不再是可选项 — 它是进两大邮件提供商收件箱的前提条件。

想在生产环境运行这个?

AcelleMail 是一次性授权的自托管邮件平台,对本术语表中的每一项术语都提供一等公民支持。无任何订阅费、不按订阅者计费、完整源代码。

试用在线演示