我已经有一个邮件服务器设置了一段时间了。 它一直工作正常,所有主要的电子邮件提供商接受来自我的服务器的电子邮件没有问题。 但是,当我build立服务器的时候,我也build立了DKIM,我认为这是一直工作的。 我最近去了mail-tester.com,它报告说它不能检索我的公钥。 它确实看到DKIM头被正确地添加到电子邮件中,这是好的,但没有公钥,它当然是无用的validation。 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
那么这是什么一回事? input格式不正确? 我在网上看到了各种各样的例子,有的用引号,有的用不着。 我现在已经试过了。 我还添加了与default._domainkey相同的条目,但是可能没有通过DNS传播。 同一台服务器也抱怨我的SPFlogging存在,但没有作为TXTlogging复制。 这是正常的做法吗? 为什么你需要它作为SPF和TXT?
在此先感谢所有的DKIM专家;)
编辑:我刚刚确认select器(电子邮件标题的DKIM部分s =字段)确实设置为邮件。 因此mail._domainkey应该是正确的条目。
编辑2:我的DNS提供商是CloudFlare。
编辑3:我想我可能已经缩小了这个问题,但我仍然不知道如何解决这个问题。 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它实际上是试图findloggingmail._domainkey.mail.website.ca当然不存在。 但如何解决这个问题? 我应该生成一个新的密钥,并放弃域的邮件部分? 或者我应该只添加另一个DNSlogging? 我很好奇最好的做法是什么。
编辑4:好吧,所以看来mail-tester.com现在可以看到名为mail._domainkey.mail的TXTlogging,但它仍然抱怨公钥是无效的。 我决定通过发送电子邮件到我控制的另一台服务器来testing我的DKIM。 看着日志,那里的电子邮件服务器能够获得公钥。 SpamAssassin和OpenDKIM都表示他们能够validation,这是好消息(因为之前没有发生过)。 所以我至less解决了这个问题的重要部分。 我仍然很想知道为什么mail-tester.com仍然拒绝TXTlogging(这几乎肯定是由于格式化),我担心其他DKIM实现可能会有同样的问题。 我会留下这个问题,希望有人能够说出一些光明。
select器是邮件,但logging包含s =电子邮件 。 logging中不需要“s”和“h”字段。 此外,不需要中断引号,您可能需要在密钥后添加分号:
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDr0rbblJ2j7QrjLC2JGbRHqsU4kr3eNZ7cLL0o1VrR3O966++99SuIqUwwiaTg5lsgYvGuBlN2A5ekJK7Q9pjw5J9+yYY14jx0vxVjfS+kjfqn/tNp5+pHWWnnviZ2b9SIvqg36l/v0bMcPJVM8HuhQLFooz1M2wYi9QoQt5eslwIDAQAB;