我使用不同域名上的不同From
和Return-Path
地址发送邮件(用于在单独的邮件服务器上收集退回邮件)。例如,和。DKIM 签名中应使用哪个域名?From: [email protected]
Return-Path: [email protected]
d=xxx
我已阅读相关问题,但没有找到具体的答案。
答案1
之一DKIM 的签名弱点它不包含消息信封,其中包含返回路径和消息收件人。因此,您应该使用 example.com,它应该是签名域。
答案2
Tl;dr:您应该使用标头From:
地址的域进行签名。原因如下。
我查看了 MailChimp、SendGrid 等 ESP 发送的签名电子邮件的标头。结果发现没有经验法则。有些使用From:
地址的域,有些使用Return Path:
域。由于这不是一个令人满意的观察结果,我试图弄清楚这在实践中是否真的很重要。
RFC 4871第 5.1 节规定:
提示性说明:签名模块可根据需要纳入邮件系统的任何部分,包括 MUA、SUBMISSION 服务器或 MTA。无论在何处实施,签名者都应注意不要签署可能存在问题的邮件(并由此承担责任)。具体来说,在受信任的区域内,签名地址可能根据本地策略从标题中派生而来;提交服务器可能只会签署经过适当身份验证和授权的用户的消息。
本文既不强制也不建议采取特定策略。说到验证 DKIM 签名,我知道 Amavis 和 OpenDKIM 根本不关心签名域是否是电子邮件发件人地址的一部分,而 GMail 也不关心。签名域应被视为邮件的“信任锚”。GMail 的 Web 界面会向您显示用于签名的域,但如果它与发件人地址不同,则不会发出警告。但它应该如此。
在我看来,这是该规范的一个重大缺陷。垃圾邮件发送者可以使用他可以访问的任何域来发送经过正确签名的垃圾邮件,这些垃圾邮件看起来来自值得信赖的人或组织。我还没有听说过有任何垃圾邮件使用这种技术,但相信我,一定会有的。DKIM 是一种确保邮件真实性的方法。它的目的并不是首先打败垃圾邮件,而是为真诚的发件人提供一种方法来表明他们的邮件是值得信赖的。当垃圾邮件发送者可以伪造这一点时,DKIM 就毫无意义了。当然,真正的力量来自于 SPF 和 DKIM(即 DMARC)的结合,但那是另一个话题了。
请不要使用外部域名来签名您的外发邮件。虽然从技术上讲这是可行的,但这样做毫无意义。此外,使用信封Mail From:
/邮件Return Path:
也是一个不太理想的选择:如果在传输过程中使用 SRS(以及其他技术),信封发件人将被重写。这超出了您的控制范围,最终会破坏签名域与实际邮件发件人之间的直接联系,而该联系应保持完整。
因此,我认为在签名外发邮件时,最好尽可能使用From:
发件人域名。此外,还应鼓励 ISP 在验证签名电子邮件时,遵守用于签名邮件的域名是否是发件人地址的一部分的规定。我很想听听其他人的意见!
我还发现了有趣的帖子如果有人想进一步探讨这个主题,可以参考更多参考资料。