为什么 dkim 会失败而 spf 会通过?

为什么 dkim 会失败而 spf 会通过?

我已经设置了一个用于发送电子邮件的 postfix。

我已经配置了 spf、dkim 和 dmarc(p=none)。

我已经使用 mail-tester 检查过:spf 和 dkim 工作正常。

我已经设置了 dmarc rua 以接收 dmarc 报告。

我在 rua 报告中看到了一些奇怪的事情:

有时 SPF 和 DKIM 是可以的。

有时 DKIM 会失败(而 SPF 很好)。我的问题是:这怎么可能呢?

谢谢

答案1

SPF 和 DKIM 是完全不同的机制,它们可能会独立失效。SPF 检查发送邮件的主机是否被允许使用该发件人域发送邮件。DKIM 检查邮件是否得到了域所有者的授权。

因此,所有四种 OK/FAIL 组合都是可能的:

  • SPF 正常,DKIM 正常:邮件由有权从该域发送邮件的服务器递送到目的地,并且其 DKIM 签名验证正确。
  • SPF 成功,DKIM 失败:邮件由授权服务器传送,但其 DKIM 签名验证失败,例如因为密钥无效或不可用。
  • SPF 失败,DKIM 正常:邮件的 DKIM 签名验证正确,但发送服务器无权递送该邮件,例如因为它已被转发。
  • SPF 失败,DKIM 失败:该邮件既不是来自授权的发送服务器,其 DKIM 签名也未经验证,例如因为其发件人域是欺骗的。

相关内容