我需要设置 DKIM 来验证我们正在使用的电子邮件提供商。在提供商的文档中,他们要求我们添加两个记录,一个选择器记录和一个策略记录,如下所示:
selector._domainkey.mydomain.com TXT "k=rsa; p=mykeyhere"
_domainkey.mydomain.com TXT "t=y; o=~"
我对添加此新策略感到担忧,因为我们已经在 DNS 区域中设置了相当多的 DKIM 选择器,但没有现有的策略记录(我们使用多个第三方提供商,他们需要代表我们发送电子邮件)。我想确保创建此记录不会破坏现有功能。据我所知,每个区域只能有一个策略,因此可以说它是“共享的”。
我对此进行了一些研究,供应商要求的政策t=y; o=~
应该是无害的。它似乎表示某些电子邮件可能已签名,并以相同的方式处理已验证/未验证的电子邮件(参考)。
不过,这会影响我们的生产应用程序,我希望能够确信添加此记录是安全的。我是否可以添加此记录而不会导致大量外发电子邮件被标记为垃圾邮件?还是我遗漏了什么?
答案1
答案2
DKIM 是一种签名工具。它是一种事后验证工具,因为在收到消息之前您无法猜测选择器密钥。有一种惯例是将您的选择器命名为“selector1”,但这只是一个简单的名称,因为选择器的名称没有强制性的形式。因此,您可以在 DNS 记录中发布尽可能多的 DKIM 选择器,只有发送消息中使用的那些才会在收到这些消息后(最终)被检查。如果您的 DNS 发布与这些密钥相关,希望它们能够成功验证。但发布 DKIM 选择器密钥本身并不强制您使用它们。
DKIM 会导致传送失败的唯一情况是与 DMARC 结合使用,前提是 DMARC 要求存在与您的域一致的 DKIM 签名,而您未能在发送的邮件中插入该签名。或者您在邮件中插入了签名,但您忘记在 DNS 中发布它。
由于您的 DMARC 不需要对齐(policy=none),因此 DKIM 根本不会影响您的业务交付。
顺便说一句,许多消息中都有多个 DKIM 签名,但没有传递问题。
顺便说一句(2)考虑在您的旧式电子邮件服务器中添加 DKIM 签名是个好主意,这样您就可以使用 DMARC 更好地保护您的企业免受网络钓鱼或因点击可疑链接而产生的虚假指控,但这是另一个话题。