Defaults.Exposed › 修复 › Guides
从 p=none 到 p=reject 且不误伤合法邮件:分阶段上线方案(2026)
发布于 2026-07-08
数据截至 2026-06-29 · 方法论 v7。 基于 261 百万个已评分域名的汇总普查数据。参见我们如何评分。
把 DMARC 从 p=none 推进到 p=reject 分四个阶段:监控 rua 报告 2–4 周、修复每一个合法发件方、用 pct 逐步提高 p=quarantine,最后拒收——永远不要一步跳到 reject。根据 Defaults.Exposed 普查,261,086,232 个已评分域名中有 70,368,600 个卡在软性 SPF、且没有 DMARC 强制执行的阶段。
以下是操作层面的运行手册:一张带退出标准的阶段表、每个阶段该发布的记录、会改变“50%”实际含义的 RFC 7489 pct 细节,以及面向子域名的 sp= 标签。如果你还在决定要不要强制执行,先读 DMARC 成熟度的 6 个阶段——那是框架;如果连策略级别本身你都还不熟,p=none、p=quarantine 和 p=reject 到底是什么意思 是入门读物。这一页讲的是怎么做。
为什么不能直接跳到 p=reject?
因为 p=reject 会让每个遵守规则的接收方退回 DMARC 失败的邮件——而在你看过报告之前,你根本不知道哪些会失败。几乎每个开启监控的域名都会发现自己忘记的合法发件方:CRM、开票工具、联系表单。第一天就跳到 reject,这些邮件不会进垃圾箱——它们会在 SMTP 阶段直接消失。丢一次发票邮件就足以让整个组织从此害怕 DMARC,记录随即被永久回滚到 p=none——在 261,086,232 个已评分域名中,恰好有 37,312,637 个停在这一步,只有 10.59%(27,640,987 个)最终达到强制执行的策略。
另一个原因是对齐。DMARC 只有在 SPF 或 DKIM 通过并且与可见的 From 域名对齐时才算通过——SPF 对齐的是 Return-Path(RFC5321.MailFrom)域名,DKIM 对齐的是签名里的 d=。第三方发件方通常在自己的域名上通过 SPF,而不是你的域名,这就是为什么“修复每个来源”这一阶段主要是在为每个服务商启用自定义域名 DKIM——详细拆解见 DMARC 失败但 SPF 和 DKIM 都通过。
上线的四个阶段是什么?
| 阶段 | 策略记录 | pct | 失败邮件会怎样 | 退出标准 |
|---|---|---|---|---|
| 1. 监控 | p=none; rua=mailto:… | — | 正常送达;你会收到汇总报告 | 收集 2–4 周报告;报告里的每个发件方都已确认是否合法 |
| 2. 修复来源 | p=none(不变) | — | 仍正常送达 | 每个合法来源都对齐通过 DMARC(按发件方启用自定义域名 DKIM);剩下的失败只是未知/伪造流量 |
| 3. Quarantine 逐步提高 | p=quarantine | 10 → 25 → 50 → 100 | 抽样比例进垃圾箱;未被抽中的部分按 p=none 处理(照常送达) | 在 pct=100 下干净运行 1–2 周,零合法邮件被隔离 |
| 4. 拒收 | p=reject | 100 | 在 SMTP 阶段被退回;发件方收到退信,收件人什么都看不到 | 持续进行——永久保留 rua,以便捕捉新的发件方 |
数据截至 2026-06-29;策略行为依据 RFC 7489。
阶段 3 是域名最容易卡住或慌乱的地方。进垃圾箱是可以补救的——用户能把邮件找出来,你调低 pct,修好来源。拒收则无法补救,这就是为什么“在 pct=100 下干净运行”是进入阶段 4 的入场券。
具体该怎么一步步上线?
- 动 DNS 之前,先在 defaults.exposed 运行免费扫描。 它会确认你当前的策略,以及底层是否已具备 SPF 和 DKIM——强制执行正是立在这两条腿上的。
- 如果还没开,先开启监控。 发布带
rua=的p=none是 “DMARC 策略未启用” 里那个五分钟步骤。收集 2–4 周的报告——足够捕捉到像开票这类按月出现的发件方。 - 盘点报告中的每个来源。 把发件方分为你自己的、你的服务商的和未知的。原始报告是 XML 附件——用报告解析工具(或你服务商的仪表盘)把它们转成可读的发件方清单。
- 让每个合法来源都对齐通过。 为每个服务商启用自定义域名 DKIM(通常是在其后台添加两条 CNAME 记录),让签名带上你的域名而不是它们的域名。优先用 DKIM 来对齐:它能扛住转发,而SPF 不能。
- 等到连续两周干净为止。 只有当报告里的失败全部是你不认识的流量——也就是你想拦截的伪造流量——才算完成阶段 2,可以退出。
- 切换到
p=quarantine; pct=10——编辑现有的_dmarcTXT 记录(实操示例:IONOS DMARC 设置),并留意语法:策略标签里的一个拼写错误就可能让整条记录作废。在 2–4 周内把 pct 逐步提高到 25、50、100,同时关注报告和服务台工单。任何进了垃圾箱的合法邮件:把 pct 调回去,修好来源,再继续。 - 在
pct=100干净运行 1–2 周后,切换到p=reject。 永久保留rua=——公司以后采用的每一个新工具都可能是未来的一个失败发件方。
pct 到底做了什么?RFC 7489 里的细节
pct 要求接收方把你的策略应用到该百分比的失败邮件上。细节在 RFC 7489 §6.6.4:被抽样排除的邮件不会回落到“照常送达”——而是会被套用低一级的策略。在 p=quarantine; pct=25 下,另外 75% 按 p=none 处理并照常送达。但在 p=reject; pct=50 下,另外 50% 会被隔离,而不是送达。没有“温和版拒收”这回事:一旦你的记录写着 reject,所有失败邮件在遵守规则的接收方那里至少会被丢进垃圾箱。
刻意使用的话,这反而是个特性——p=reject; pct=1 相当于“几乎全部隔离,只拒收一小撮”,是一种合理的最终过渡方式。有两点要留意:接收方对抽样的实现并不完全一致,所以把 pct 当成一个粗略的旋钮就好;等阶段 4 稳定之后,记得去掉这个标签(或设为 pct=100),让你的记录名副其实。
子域名怎么办——sp= 标签
默认情况下,子域名继承组织域名的策略:yourdomain.com 上的 p=reject 也覆盖 mail.yourdomain.com。sp= 标签可以让子域名走不同的路,既有用也有风险。有用的一面:p=quarantine; sp=reject 可以在主域名还在逐步提高阶段时,就先锁死那些你从不用来发信的子域名——伪造者会刻意瞄准被监控域名的子域名下手。危险的一面:一个被遗忘的 sp=none 会悄无声息地把每个子域名都排除在你花了六周才赢得的拒收策略之外。到阶段 4 时检查一下这个标签;如果确实有某个子域名需要更宽松的策略,就单独为那个子域名发布一条 _dmarc 记录,而不是把所有子域名都放宽。
NIS2 是否意味着欧盟企业必须这么做?
DMARC 在哪里都一样运作——跨过欧盟边境,这份运行手册里的任何内容都不会改变。改变的是合规上的推动力。NIS2 第 21(2)(j) 条要求受监管实体保障其通信安全,而欧盟委员会实施法规 (EU) 2024/2690 为其覆盖的数字基础设施实体明确了技术要求——其附件(第 6.7.2(k) 点)要求制定实施计划,部署国际公认的现代邮件安全标准,第 6.7.2(l) 点要求遵循 DNS 安全最佳实践。一个底层具备 SPF 和 DKIM、且强制执行的 DMARC 策略,是防范伪造的公认可审计控制措施;p=none 明显只是在监控,谈不上安全防护。如果你的客户在此监管范围内,他们的供应商安全问卷会越来越明确地要求这一点。
常见问题
整个上线过程要花多久? 通常是六到十周:监控 2–4 周,修复来源 1–3 周,提高 quarantine 比例 2–4 周,然后拒收。这是日历时间,不是工作量——大部分时间都在等报告确认每一步改动是否生效。截至 2026-06-29,261,086,232 个已评分域名中有 89.41% 没有强制执行的策略,其中大多数并不是还在上线过程中——它们根本没开始计时。
能不能跳过 quarantine,直接用低 pct 的 p=reject?
可以——根据 RFC 7489 §6.6.4,p=reject; pct=10 意味着 10% 被拒收、90% 被隔离,大致相当于阶段 3 后期。但先用 p=quarantine 更容易推理判断,而且不同接收方对抽样的执行程度参差不齐。无论走哪条路,阶段 1–2 都没有商量余地:只要还有合法发件方在失败,任何一种强制执行方式都不安全。
那些我修不了的邮件呢——转发和邮件列表? 转发天生就会破坏 SPF,一些邮件列表还会改写内容,连 DKIM 也一起破坏。对齐的 DKIM 能扛住普通转发,这解决了大部分问题;剩下的少量残余正是 quarantine 阶段存在的意义——进了垃圾箱的邮件在你评估期间是可以补救的。详见转发邮件 SPF 失败。
停在 p=quarantine 够不够?
这已经拿到了大部分价值,也远好过停在 p=none 的那 37,312,637 个域名(在 261,086,232 个已评分域名中,数据截至 2026-06-29)——但被伪造的邮件仍会进垃圾箱,而人们会把它捞出来。拒收才是终点:已评分域名中只有 10.59% 真正强制执行,检测工具、保险公司和问卷认可的正是走完全程。
把报告发给老板
如果你是在替客户或雇主推进这次上线,终点是可以展示出来的。p=reject 生效后重新运行免费扫描,把评分报告转发出去:域名迁移到强制执行策略,带日期、用大白话写清楚。这一页比 DNS 面板的截图更能回答网络保险续保和 NIS2 驱动的供应商问卷里那道邮件安全题——也让六周细致、看不见的工作,在买单的人面前变得看得见。
免费检查你的 DMARC 策略
私密、仅域名所有者可见地看看你目前的策略是什么——以及 SPF 和 DKIM 能不能撑起强制执行。
检查你的域名 → · 修复 DMARC → · “DMARC 策略未启用”——诚实的第一步 → · 仅使用汇总数据。数据在欧盟境内存储和处理。