可以在域名上发布多条 DKIM 记录吗?
您可以在一个域名上发布多条 DKIM 记录吗?答案是肯定的:在 DNS 服务商允许的范围内,您可以在域名上发布任意多的 DKIM 记录。
DKIM 是什么?
DKIM 是 DomainKeys Identified Mail 的缩写。它是一种邮件验证机制,用来监测邮件的头域和内容是否被篡改过。
DKIM 基于非对称加密,它使用密钥对来工作:私钥仅对邮件发送服务器可见,而公钥发布在 DNS 中,对所有邮件接收服务器可见。
在邮件离开发送服务器之前,服务器使用私钥对其签名;在邮件到达接收服务器的时候,服务器使用发布在 DNS 中的公钥对邮件进行验证。
DKIM 记录是什么?
DKIM 记录是一种发布在 DNS 中的 TXT 记录。它由一组标签组成,其中之一是 "p=" 标签,包含 DKIM 公钥。
下面是一个 DKIM 记录的例子:
k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnVgd0NyrRE261IIiPqi+0H1baNyKcdj8Kea/VlSP4exzvKx8pJ01EWMwd094FV/6OCBIf7KGKgowMnWl3tW3Z5G++uZHkdgF+6xg7b9PynmX/NTo2kx92hlGgegwyulF5B7d2FM0doaCeoO4rD05jZzwi3cXx/156Gg9Xwd/Z/QIDAQAB
上面的 DKIM 记录由一组定义参数的标签组成。记录中的 p
标签指定 base64 编码的公钥,该公钥将被接收服务器用来验证邮件中的 DKIM 签名。
DKIM 记录也可以是 CNAME 记录,在这种情况下,该 CNAME 记录会被映射到一个 TXT 类型 的 DKIM 记录。
例如,如果您在 SendGrid 中设置 DKIM,它将创建一个 CNAME 类型的 DKIM 记录,如下所示:
s1.domainkey.uXXX.wlXXX.sendgrid.net
该记录映射到一个 TXT 类型的 DKIM 记录:
k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnVgd0NyrRE261IIiPqi+0H1baNyKcdj8Kea/VlSP4exzvKx8pJ01EWMwd094FV/6OCBIf7KGKgowMnWl3tW3Z5G++uZHkdgF+6xg7b9PynmX/NTo2kx92hlGgegwyulF5B7d2FM0doaCeoO4rD05jZzwi3cXx/156Gg9Xwd/Z/QIDAQAB
所有在 example.com
上面的 DKIM 记录存在于 xxx._domainkey.example.com
,其中 xxx
是 DKIM 选择子,不管该记录是 TXT 类型还是 CNAME 类型。
DKIM 选择子是什么?
DKIM 选择子是域名上用来指定 DKIM 公钥位置的字符串。DKIM 选择子的主要作用是允许在同一个域名上面创建多个 DKIM 记录。
比如,您可以选择 "may10" 作为选择子,并且在域名 "example.com" 上面创建一个 DKIM 公钥: may10._domainkey.example.com。
您也可以选择另外一个选择子 "july29",并在域名 "example.com" 创建另外一个 DKIM 公钥: july29._domainkey.example.com。
要了解更多关于 DKIM 选择子的信息,请参阅:什么是 DKIM 选择子。
我可以在一个域名上面创建多个 DKIM 记录吗?
正如上面所述,要在一个域名上面创建多个 DKIM 记录,只需要在域名上面创建多个 DKIM 选择子,每个选择子指向一个 DKIM 记录即可。
在一个域名上面创建多个 DKIM 记录的能力对以下场景至关重要:
-
一个组织使用多个邮件发送服务来为该域名发送邮件,在这样的情况下,必须使用多个 DKIM 选择子和私钥/公钥对来隔离这些服务。
例如,如果您授权 SendGrid 和 Mailgun 来发送邮件的话,您至少需要分别为 SendGrid 和 Mailgun 创建一个 DKIM 记录。这样的话,这两个服务的签名/验证服务器能够正确地找到对应的密钥对。
-
如果您只使用一个邮件发送服务,能够创建多个选择子/密钥对对于一个名叫 "DKIM 密钥旋转"的过程也是必不可少的。DKIM 密钥旋转过程定期更新密钥对,降低密钥被破解的风险。
了解更多关于 DKIM 密钥旋转,请参阅:什么是 DKIM 选择子。
和 SPF 与 DMARC 不同,在一个域名上面创建多个 DKIM 记录不仅是可能的,而且常常是必须的。
相关文章
Protect Business Email & Improve Email Deliverability
Get a 14 day trial. No credit card required.
Create Account