我有一份工作日通过 AWS SES 发送到 Outlook 邮箱的每日报告。出于某种原因,Outlook 将昨天和星期五的电子邮件标记为“未经验证的发件人”。今天的电子邮件没有被标记为“未经验证的发件人”。星期五之前的任何电子邮件也没有被标记为“未经验证的发件人”。仔细检查电子邮件标题只会显示以下相关差异:

Authentication-Results: spf=pass (sender IP is 54.240.48.132)
 smtp.mailfrom=amazonses.com; dkim=pass (signature was verified)
 header.d=amazonses.com;dmarc=fail action=none
 header.from=xxxxxx.com;compauth=fail reason=001
Received-SPF: Pass (protection.outlook.com: domain of amazonses.com designates
 54.240.48.132 as permitted sender) receiver=protection.outlook.com;
 client-ip=54.240.48.132; helo=a48-132.smtp-out.amazonses.com; pr=C

Authentication-Results: spf=pass (sender IP is 54.240.48.130)
 smtp.mailfrom=amazonses.com; dkim=pass (signature was verified)
 header.d=xxxxxx.com;dmarc=pass action=none
 header.from=xxxxxx.com;compauth=pass reason=100
Received-SPF: Pass (protection.outlook.com: domain of amazonses.com designates
 54.240.48.130 as permitted sender) receiver=protection.outlook.com;
 client-ip=54.240.48.130; helo=a48-130.smtp-out.amazonses.com; pr=C

相同的邮件被发送到 Gmail 帐户,它们始终会通过 DMARC 检查。例如,Message-Id相同

过去两周内,DNS、SES 设置或用于发送消息的 Lambda 函数均未发生任何变化。所有这些都由 Terraform 管理,源代码中没有变化,也没有漂移terraform plan

DMARC 报告似乎dmarcreport@microsoft.com很混乱——我于 9 月 2 日收到的最后一份报告涉及 2024-08-27 00:00:00 UTC 至 2024-08-28 00:00:00 之间的时间段,而上一份于 8 月 31 日收到的报告涉及 2024-08-29 00:00:00 UTC 至 2024-08-30 00:00:00 UTC 之间的时间段,并且尚未收到有关故障时间段的报告。

我想知道我是否遗漏了邮件标头中的某些内容,从而导致了此 DMARC 故障。

8

  • 您是否已Custom MAIL FROM domain在 SES 中验证了您的发件人身份?


    – 

  • @0xn0b174 是的,我已Custom MAIL FROM为源域配置,它显示Successful在 SES 控制面板中,但出于某种原因,我没有在标题中看到它。我怀疑它使用了不同的身份,即源电子邮件而不是域,并且它没有Custom MAIL FROM


    – 


  • 如果您删除发件人地址的特定身份,则它应该默认为域 AFAIK。失败的 Microsoft 电子邮件中的标题表明两个 DKIM 签名(针对亚马逊和您自己的域)都存在,但由于某种原因,您的域的签名未通过检查(由于标题中未显示的任何原因)。希望 DMARC 报告能够阐明失败的原因。


    – 

  • @Reinto ,您能指出哪个标头表示 DKIM 失败吗?您能解释一下为什么今天的邮件没有任何变化却没有通过 DMARC 检查吗?


    – 

  • MS 和 Gmail 标头都显示双重 DKIM 签名,一个用于您的域,一个用于发送平台。在 Authentication-Results 标头中,Gmail 电子邮件标头表示代表您的域的签名成功。MS 标头仅表示代表平台 (SES) 的签名成功,而您的域的签名结果最为相关。这不是绝对的证据,但表明 MS 未能成功验证您的域的签名。可能是从错误签名到 DNS 查询失败等任何原因。


    – 

0