我注意到每次设置 google apps、mailgun、mandrill 或其他东西时,我总是必须设置域密钥。这部分很有意义 - RSA、公钥/私钥等 - 我明白了。
直觉上,我认为有一个用于查找 SMTP 域密钥的单一标准,但实际上似乎是随机选择了其中一个前缀:smtp k1 mx pic mailo
。
例子:
smtp._domainkey.example.com
(说得通)mx._domainkey.example.net
(是的)mailo._domainkey.example.org
(为什么是 o?)k1._domainkey.foo.com
(k 代表关键?1 代表主要?)pic._domainkey.bar.com
(图片?这是什么意思?)
因此,我查看了我的域列表,发现似乎只出现了这 5 种变化,但我没有看到任何模式。
- 为什么没有一个标准前缀?
- 查询服务器如何知道要查询哪一个?
- _ 不是一个非法字符吗?
- 如果域键前缀是任意的,为什么只是任意的?
如果您手头有一些阅读材料以及一些简短而精致的解释,我很乐意为您提供。
PS 我尝试过谷歌搜索,但我不知道该问什么。我看到的都是针对特定电子邮件或托管服务提供商的技术支持文章。
答案1
以下是您所要求的简短而甜蜜的答案:
查询服务器如何知道要查询哪一个?
这个前缀叫做选择器接收服务器通过查看域名密钥签名包含加密签名的标头。在许多有用的信息中,有选择器和领域值。例如:
域密钥签名:a=rsa-sha1;s=smtp; d=example.com;c=简单;q=dns;b=JOc8ZszniSbVoGVyOfAKCdLXyuU4zGffruD4doXSlEG2q8Ldyd00laHRNiYzRv+Z;
选择器 + “_domainkey” + 域 = smtp._domainkey.example.com
为什么没有一个标准前缀?
没有一个标准前缀,因为在某些情况下,您希望选择配置多个不同的 DomainKeys 记录(例如,您有两个 SMTP 服务器,并且您希望每个服务器都使用自己的 DomainKeys 策略)。
_ 不是一个非法字符吗?
正如你所见,事实并非如此:-)
答案2
为什么没有一个标准前缀?
您可能希望同时使用 mailgun 和 mandrill(或其他任何东西),因此您需要能够指定多个键。
https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail#How_it_works
查询服务器如何知道要查询哪一个?
SMTP DKIM 标头包含区域标识符 (example.com) 和子域标识符 (mx)。它们组合在一起形成 mx._domainkey.example.com
https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail#How_it_works
_ 不是一个非法字符吗?
只是有时。
http://domainkeys.sourceforge.net/underscore.html
如果域键前缀是任意的,为什么只是任意的?
折衷方案?惯例?不知道。(知道后会再发帖)
两个出站邮件服务器可能都引导您使用mx._domainkey.example.com
,但您可以尝试删除并重新创建记录以查看是否获得不同的记录 - 如果失败,请联系支持。
我当然更喜欢看到类似mail
、mx
或smtp
这样的字眼,而不是c15c5385
。我又不会为任何单个域名使用数百个出站邮件服务……对吧?
信用
非常感谢我的本地用户组: