@邮件域名体检

Gmail · SMTP 550 5.7.40

Gmail 550 5.7.40:DMARC record or policy missing

这条永久拒信表示 Gmail 没有为发送域找到 DMARC 记录,或记录没有可应用的 policy。检查对象是可见 From: 的 Author Domain。

先匹配完整 SMTP 响应

Google 的错误表也使用 504 5.7.40 表示无法识别认证类型或不再支持 XOAUTH。只有完整响应明确提到 DMARC record 或 DMARC policy 时,才按本页处理;不要只凭增强状态码判断。

DMARC 使用 RFC5322 From: 中的 Author Domain。不要把退信地址、MAIL FROM、Return-Path 或 Gmail 收件域误当作 DMARC policy 查询域。

按 RFC 9989 查找策略

  1. 先查询 _dmarc.AuthorDomain,并只接受一条以 v=DMARC1 开始的 policy record。
  2. 若当前域没有有效记录,执行最多 8 次查询的受限 DNS Tree Walk,继续检查父域、组织域和可能的公共后缀策略。
  3. 若应用父域记录,既有子域优先使用 sp,不存在的子域优先使用 np,没有相应标签时回退到 p
  4. 同一查询目标返回多条 DMARC policy record 时,这些记录会被丢弃,不能视为有效策略。

域名体检会展示实际查询路径、选中的 policy domain,以及最终应用的 pspnp

记录存在但没有 policy

p、适用的 spnp 必须是 nonequarantinereject。RFC 9989 规定:若适用值缺失或无效,但 rua 至少包含一个语法有效的报告 URI,接收方按 p=none 继续;否则不应用 DMARC。

主机名:_dmarc.example.com
类型:TXT
值:v=DMARC1; p=none; rua=mailto:dmarc@example.com

示例地址必须是域名所有者控制或明确授权的聚合报告目的地。先在监控模式核对全部合法发件源和对齐结果,再评估更强策略。

发布后验证对齐

修复 5.7.40 只解决记录或 policy 缺失。批量邮件还需要 SPF 与 DKIM,并让至少一种通过的身份与可见 From: 域完成 DMARC 对齐。等待 DNS TTL 后从真实平台发送新邮件,以新的 Authentication-Results 和 SMTP 响应为最终证据。

不要为了消除错误直接发布未经验证的 p=reject,也不要复制陌生域名的 rua。前者可能阻断合法邮件,后者可能把认证报告发送给未授权第三方。

官方来源