域名设置了 DMARC p=reject,发现有一些合法邮件也被拒收了,怎么回事?
31
域名设置了 DMARC p=reject,发现有一些合法邮件也被拒收了,怎么回事?
▼
原因
DMARC p=reject 要求收件方拒绝所有 SPF 与 DKIM 均验证失败的邮件。常见"误杀"场景:(1) 域名使用了第三方邮件转发(forwarding),转发破坏了 SPF;(2) 组织有多个发信渠道(CRM、工单系统、营销平台等),部分未纳入 SPF/DKIM;(3) 子域名未配置独立 SPF/DKIM 记录。
操作
1. 先调回监控模式:将 DMARC 策略改为 p=none,确保不会继续拒收邮件。
2. 读报告找漏洞:查看 DMARC 记录中 rua 邮箱收到的每日聚合报告(XML 格式),找出所有发信源及其认证通过率。
3. 补全认证:为每一个合法发信渠道配置 SPF 和 DKIM。
4. 逐步收紧:确认全部合法源通过后,先改为 p=quarantine(标记垃圾箱),运行一段时间无误后再改为 p=reject。
5. 建议:切勿直接跳到 p=reject,从 p=none → p=quarantine → p=reject 渐进式部署。
参考:RFC 7489 (DMARC) · M3AAWG DMARC Best Practices · Google DMARC Implementation Guide
