Открытый ключ 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 там;)

РЕДАКТИРОВАТЬ: Я только что проверил, что селектор (поле s= в разделе DKIM заголовков электронной почты) действительно установлен на почту. Следовательно, mail._domainkey должен быть правильным.

EDIT2: мой 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 теперь может видеть TXT-запись с именем mail._domainkey.mail, однако он по-прежнему жалуется, что открытый ключ недействителен. Я решил проверить свой DKIM, отправив электронное письмо на другой сервер, которым я управляю. Глядя на логи, почтовый сервер там смог получить открытый ключ. И SpamAssassin, и OpenDKIM сказали, что они смогли проверить, что является хорошей новостью (так как раньше этого не происходило). Поэтому я, по крайней мере, решил важную часть проблемы. Мне все еще очень любопытно выяснить, почему mail-tester.com по-прежнему отклоняет запись TXT (это почти наверняка связано с форматированием), и я обеспокоен тем, что другие реализации DKIM могут иметь такую ​​же проблему. Я оставлю этот вопрос в надежде, что кто-то сможет пролить свет.

1 ответ

Селектор - это почта, но запись содержит s = email. Вам не нужны поля "s" и "h" в записи. Также не нужны кавычки, и вам может понадобиться добавить точку с запятой после ключа:

v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDr0rbblJ2j7QrjLC2JGbRHqsU4kr3eNZ7cLL0o1VrR3O966++99SuIqUwwiaTg5lsgYvGuBlN2A5ekJK7Q9pjw5J9+yYY14jx0vxVjfS+kjfqn/tNp5+pHWWnnviZ2b9SIvqg36l/v0bMcPJVM8HuhQLFooz1M2wYi9QoQt5eslwIDAQAB;
Другие вопросы по тегам