我在不同的域上发送具有不同From和Return-Path地址的邮件(用于在分离的邮件服务器上收集反弹)。 例如, From: [email protected]和Return-Path: [email protected] 。 DKIM签名d=xxx应该使用哪个域名?
我看过相关的问题,没有find具体的答案。
DKIM的其中一个缺点就是它不包含消息信封,它包含返回path和消息接收者。 所以你应该使用example.com这应该是签署域。
Tl; dr:您应该使用标题From: address'域进行签名。 这是为什么。
我查了一下由ESP,MailGimp,SendGrid等发送的签名邮件的标题。 结果是没有经验法则。 有的使用From: address域,有的使用Return Path:域。 因为这不是一个非常令人满意的观察,所以我试图弄清楚它在实践中是否真的很重要。
RFC 4871第5.1节规定:
信息注意:签名模块可能被合并到邮件系统的任何部分,包括MUA,提交服务器或MTA。 无论在哪里执行,签名者都应该小心签署(并由此声明责任)可能有问题的消息。 特别是,在一个可信赖的飞地内,签署地址可能根据本地策略从头部导出; 提交服务器可能只签署来自正确authentication和授权的用户的消息。
本文既没有强制也没有build议一个特定的策略。 说到validationDKIM签名,我知道Amavis和OpenDKIM根本不在乎签名域是否是任何电子邮件发件人地址的一部分,GMail也不会这样做。 签名域名应该被视为您邮件的“信任锚”。 GMail的Web界面将显示哪个域用于签名,但不会发出警告,如果它不同于发件人地址。 但它应该。
在我看来,这是规范的一大弱点。 垃圾邮件发送者可以使用他所访问的任何域名来发送似乎来源于可靠的人员或组织的正确签名的垃圾邮件。 我不知道有任何垃圾邮件使用这种技术,但相信我,会有。 DKIM是一种确保消息真实性的方法。 这并不是要首先打败垃圾邮件,而是要给真诚的发件人一种方法,表明他们的邮件是可信的。 当垃圾邮件发送者可以伪造,DKIM是毫无意义的。 当然,真正的力量来自SPF和DKIM(即DMARC)的结合,但这是另一个话题。
请不要使用外国域名签署您的邮件。 尽pipe技术上可行,但这样做没有意义。 另外,使用信封的Mail From:发送Mail From: /邮件的Return Path:也是不太理想的select:如果在传输中使用SRS(和其他技术),信封发送者将被简单地重写。 这超出了你的控制范围,最终打破了签名域名和实际的邮件发送者之间的直接联系,邮件发送者应该保持完整。
因此,在我看来,只要有可能,在签发外发邮件时最好使用From:发件人域。 此外,应该鼓励在validation签名的电子邮件时,如果用于签署邮件的域名是发件人地址的一部分,则ISP应该遵守。 我很想听听其他意见!
如果想进一步深入研究这个话题,我还会发现一个有趣的post ,里面有更多的参考资料。