DKIM 公钥无法检索

DKIM 公钥无法检索

我已经设置了邮件服务器一段时间了。它一直运行良好,所有主要的电子邮件提供商都可以毫无问题地接受来自我的服务器的电子邮件。但是,在设置服务器时,我还设置了 DKIM,我认为它一直都在运行。我最近访问了 mail-tester.com,它报告说无法检索我的公钥。它确实看到 DKIM 标头已正确添加到电子邮件中,这很好,但如果没有公钥,它当然无法进行验证。dig mail._domainkey.website.ca TXT返回

; <<>> DiG 9.10.3-P4-Ubuntu <<>> mail._domainkey.website.ca TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32970
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mail._domainkey.website.ca. IN TXT

;; ANSWER SECTION:
mail._domainkey.website.ca. 60 IN TXT "v=DKIM1; h=sha256; k=rsa; s=email;" "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDr0rbblJ2j7QrjLC2JGbRHqsU4kr3eNZ7cLL0o1VrR3O966++99SuIqUwwiaTg5lsgYvGuBlN2A5ekJK7Q9pjw5J9+yYY14jx0vxVjfS+kjfqn/tNp5+pHWWnnviZ2b9SIvqg36l/v0bMcPJVM8HuhQLFooz1M2wYi9QoQt5eslwIDAQAB"

;; Query time: 53 msec
;; SERVER: 172.31.0.2#53(172.31.0.2)
;; WHEN: Fri Apr 07 07:38:44 UTC 2017
;; MSG SIZE  rcvd: 331

那么怎么回事?条目格式是否不正确?我在网上看到各种示例,有些带引号,有些不带。我现在已经尝试了这两种方法。我还添加了相同的条目,default._domainkey但可能尚未通过 DNS 传播。同一台服务器还抱怨我的 SPF 记录存在,但没有重复为 TXT 记录。这是正常做法吗?为什么需要它作为 SPF 和 TXT?

提前感谢所有的 DKIM 专家 ;)

编辑:我刚刚验证了选择器(电子邮件标头的 DKIM 部分中的 s= 字段)确实设置为邮件。因此 mail._domainkey 应该是正确的条目。

编辑2:我的DNS提供商是CloudFlare。

EDIT3:我想我可能已经缩小了问题的范围,但我仍然不知道如何解决它。mail-tester.com 说

We were not able to retrieve your public key.
Please ensure that you inserted your DKIM TXT DNS record on your domain mail.website.ca using the selector mail.

我认为,由于标头中的 d= 字段用于 mail.website.ca,因此它实际上是在尝试查找 mail._domainkey.mail.website.ca 记录,而该记录当然不存在。但如何解决这个问题?我应该生成一个新密钥并删除域的邮件部分吗?还是我应该添加另一个 DNS 记录?我很好奇最佳做法是什么。

编辑 4:好吧,看来 mail-tester.com 现在可以看到名为 mail._domainkey.mail 的 TXT 记录,但它仍然抱怨公钥无效。我决定通过向我控制的另一台服务器发送电子邮件来测试我的 DKIM。查看日志,那里的电子邮件服务器曾是能够获取公钥。SpamAssassin 和 OpenDKIM 都表示它们能够验证,这是个好消息(因为以前没有发生过这种情况)。所以我至少解决了问题的重要部分。我仍然非常好奇为什么 mail-tester.com 仍然拒绝 TXT 记录(这几乎肯定是由于格式问题),我担心其他 DKIM 实现可能存在同样的问题。我将保留这个问题,希望有人能提供一些线索。

答案1

选择器是邮件但记录包含s=电子邮件。记录中不需要“s”和“h”字段。此外,不需要断引号,并且您可能需要在键后添加分号:

v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDr0rbblJ2j7QrjLC2JGbRHqsU4kr3eNZ7cLL0o1VrR3O966++99SuIqUwwiaTg5lsgYvGuBlN2A5ekJK7Q9pjw5J9+yYY14jx0vxVjfS+kjfqn/tNp5+pHWWnnviZ2b9SIvqg36l/v0bMcPJVM8HuhQLFooz1M2wYi9QoQt5eslwIDAQAB;

相关内容