DMARC 的 pct 参数有什么用?应该设 100 还是逐步增加?

DMARC 的 pct 参数有什么用?应该设 100 还是逐步增加?
pct 参数是什么:RFC 7489 §6.3 定义 pct 为策略适用百分比。默认 pct=100 表示对全部邮件应用 DMARC 策略。设置 pct=25 意味着只有 25% 的不合规邮件执行策略动作(quarantine 或 reject),其余 75% 的不合规邮件仅记录但不拦截。
为什么需要分阶段部署:p=none(仅报告)直接跳 p=reject(全量拒绝)风险巨大——大企业自建邮件、多部门使用不同第三方发信平台时,总会有遗漏的合法发送源未被 SPF/DKIM 覆盖。一次性 reject 会导致这些部门的业务邮件全部退信。pct 提供了渐进式升级的安全网。
推荐的分阶段流程:① 保持 p=none 收集至少 30 天 RUA 报告,确保所有合法发信源都已通过 SPF 或 DKIM 认证;② 修改记录为 v=DMARC1; p=quarantine; pct=25; rua=mailto:reports@example.com,观察一周看是否有误判;③ 确认无误后增加 pct=50 → pct=75 → pct=100,每周递增一次;④ 全部达到 100% 后可将 p 升级为 reject。
注意事项:pct 只影响策略执行范围,不影响 RUA 报告的收集——即使用 pct=25,你仍会收到全部邮件的聚合报告。另外,不同收件方对 pct 的采样实现可能不同,不要依赖 pct 作为精确的流量控制工具。

📎 RFC 7489 §6.3 pct 参数