我正在使用 AWS SES(在沙盒模式下)向 GMail 地址发送电子邮件。不幸的是,它被标记为垃圾邮件。
谷歌很高兴在消息详细信息中告诉我这是 DMARC 失败
我阅读了官方文档:https ://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-authentication-dmarc.html
这让我感到困惑(该页面的引用):
- “为了遵守 DMARC,消息必须通过 SPF 或 DKIM 或两者进行身份验证。”
- “通过遵守这些身份验证系统之一,您的电子邮件将遵守 DMARC”
我的问题是,为什么 SPF 和 DKIM 都通过了但 DMARC 却失败了?
ARC-Authentication-Results: i=1; mx.google.com;
dkim=pass [email protected] header.s=REDACTED header.b=REDACTED;
spf=pass (google.com: domain of [email protected] designates IP_REDACTED as permitted sender) [email protected];
dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=QUARANTINE) header.from=example.com
返回路径结束于amazonses.com
(存在 SPF 和 DKIM 的 DNS 条目example.com
)。
如果您需要任何其他信息来找到问题的根源,请告诉我
DMARC 不会测试 SPF 或 DKIM 是否已通过,但其中之一必须同时通过并与标头中使用的域对齐
From:
。在这里,SPF 与eu-central-1.amazonses.com
DKIM 一起传递amazonses.com
。它们与ie 不匹配example.com
,因此 DMARC 失败。我想到了。
我为错误的 AWS 区域设置了 DKIM 和 SPF。
我仍然很困惑它通过了。