DKIM 是否验证 smtp/信封发件人或邮件/标头发件人?

Tob*_*obi 4 email spf dkim dmarc

我想了解用于验证电子邮件的 SPF/DKIM/DMARC 堆栈。

据我了解,SPF 适用于 SMTP“邮件发件人”/信封发件人。

但即使在 stackoverflow 本身上,我也发现有关 DKIM 是否适用于信封发件人或实际 SMTP 负载/电子邮件/标头发件人的矛盾信息。

Gav*_*son 7

简短的回答...

\n SPF根据发送 IP 地址验证信封,DKIM验证消息有效负载,DMARC将两者联系在一起,并在任一失败时指示所需的处理。


\n更长的答案...

\n DKIM使用私钥应用于发送服务器上编写的消息,然后由接收服务器使用公钥通过DNS进行验证。

\n\n

DKIM 规范允许签名者选择他们签名的标头字段,但From:字段必须始终签名,以及正文的指定长度(可能为零),因此作者可以随心所欲地包括正文和/或消息负载末尾的附件。

\nDKIM 独立于 SMTP 路由,因为它对RFC 5322消息 \xe2\x80\x94 进行操作,即传输的邮件的标头和正文 \xe2\x80\x94 而不是RFC 5321中定义的 SMTP 信封。因此,DKIM 签名可以在多个 MTA 之间进行基本中继。

\nDKIM 允许签名者 以严格或宽松的方式传达其认为合法的电子邮件内容。通过这种方式,签名者可以保证一些关键内容,同时允许对空格和标头换行进行简单的重写。它不会直接阻止或披露企图滥用的行为,但可以由接收服务器进行取证,以在签名者允许的程度上验证内容。


\n SPF在 DNS 中发布,并由接收服务器进行测试。

\nSPF 规范允许域的 DNS 保证哪些发送 IP 以及解析 IP 的其他机制被允许/禁止作为该域的电子邮件发送源。它仅使用MAIL FROMHELO值针对RFC 5321中定义的 SMTP 信封进行测试。


\n DMARC是在 DNS 中为域发布的策略,并由接收服务器验证。

\n它允许发送域通过来自合规接收服务器的报告来监控滥用情况,并指示应如何处理任何 SPF 或 DKIM 故障。此外,它还可用于对齐SPF 和 DKIM 中发现的域,并用于在 SPF 和 DKIM 均通过但各自使用不同域时识别滥用行为。

\n

  • @EML 我真的很困惑。OP 明确询问_DKIM 是否适用于信封发件人或实际的 SMTP 有效负载/电子邮件/标头发件人。_ 在我撰写评论时,我正在了解 SPF、DKIM 和 DMARC 的详细信息。现在我可以确认,当您使用 DKIM+DMARC 时,正在测试电子邮件标头“From:”中的域与“DKIM-Signature:”标头的“d=”属性是否松散或严格对齐。DKIM 本身并不检查这一点。例如,请参见:https://mxtoolbox.com/dmarc/dkim/dkim-alignment (3认同)