Я использую Mail Enable на своем VPS и скопировал сгенерированный DKIM (см. снимок экрана 1) в свой DNS. (да, я уже перезапустил VPS):
Теперь мои настройки DNS настроены на хостинговой компании A и указывают на VPS, который я размещаю в компании B:
Странно то, что когда я пытаюсь проверить действительность DKIM, dmarcanalyzer.com говорит, что он неверен, тогда как mxtoolbox.com показывает, что он верен.
Отчет DKIM, который я получаю от Google (и других поставщиков услуг электронной почты), показывает fail
узел dkim. Полный отчет см. здесь:
Я отправляю свои электронные письма через localhost
(и предпочитаю продолжать это делать), но мне также интересно, localhost
могут ли DKIM для определенного домена конфликтовать и вызывать эту проблему.
Я связался с хостинговой компанией A, и они утверждают, что настройки DNS верны, и все настроено и работает так, как и ожидалось с их стороны. Я понятия не имею, где еще я могу и должен настроить свои настройки DKIM сейчас.
ps. Я также проверил здесь:
- Правильная настройка DNS для отправки электронной почты на многодоменном хостинге VPS
- Как исправить DKIM для почты на VPS-хостинге?
ОБНОВЛЕНИЕ 1
Через mail-tester.com я получаю следующую DKIM-подпись вашего сообщения:
v=1;
c=relaxed/relaxed;
h=mime-version:from:date:message-id:subject:to:content-type;
d=example.com;
s=default.domainkey;
a=rsa-sha256;
bh=9GbEYuoERz+rKK0duec8ZYNDPzF429KQdM3YJavh32U=;
b=YQxDCBHCx1n1aLE0uVyOb2QsT2wOnkFqziZcyZtdNsGtMwz2y7ItPpB1MMkL5VZJl8Jgtszh9DomKhBPQ50WwAmIi/ayrR8hq61h0I2zdBNOs9A2bTYSBd/H11iTXGOuc8FFS3GHj+ohh3E+r+V6gvi4NF5shQ041OEdeZNUigUDRRr0eRDUnrK2/jq5ERWNDcg3MCDZI7Kcgj75BDJKfxBioVesKTV3/iLLuoBiDdVRdjqdAQC0Izc7KXweYab0wAiWvsCKvzBAyh0ieYFYHR4Wy3RAsKNUAwJkOJLF2IzvIBJaeIU8KVqJHONJ+IV40l13EsMZQUINZhJG9hvbbw==;
ОБНОВЛЕНИЕ 2
Следуя рекомендациям @anx ниже, я сгенерировал новый ключ rsa2021
и добавил его в свой DNS:
"v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAum44LLMyisKD6mOwTaXQqNjYsI6bNBS4uzhA03RaifyRDmmIKUPNv1bGb3QGihdDFzKbL+aax6o3INZSFcf1o5rKr8+3a2gAf+p2daNlycFQFmsWK94h4Vtu6j0VZ5E7bElFI0NQ/MYBOVwUST6H5DOsygGK9uWm8zVSBk8QtknZlLCPJYjHYc8V3dejnYcNIjBDtPKCB20E0q0pzIm63Dn8Z78J9wSvsSGl4FLN/3Tr96RLxwhqu+tFN04OVpdmlKnM7IQ3pGFMSEXqUoucndPUqzaNgT/u8GtowBoz72UgpDzuxkiehvg7PK/FPC6Vj/jTwe9d3oj/ZMN2ujMWYQIDAQAB;"
Затем я отправляю электронное письмо через smtp.example.com
и затем проверяю здесь:http://isnotspam.com
Я все еще вижу сбои DKIM:
* 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
X-Spam-Status: Yes, hits=6.4 required=-20.0 tests=BAYES_99,BAYES_999,
DKIM_SIGNED,HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY,MISSING_SUBJECT,
SPF_PASS,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0
Envelope-to: [email protected]
Delivery-date: Fri, 13 Aug 2021 09:07:46 +0000
Received: from vpsnr12.myisp.com ([12.12.12.12] helo=mail.domainA.com)
by localhost.localdomain with esmtp (Exim 4.84_2)
(envelope-from <[email protected]>)
решение1
Ваш селектор DKIM... странный.
d=example.com; s=default.domainkey;
Покаэто совершенно верно..
Точки разрешены в селекторах и являются разделителями компонентов. [..] В реализации DNS это можно использовать для разрешения делегирования части пространства имен селектора.
.. потому чтоКлючи DKIM хранятся в поддомене с именем «_domainkey».необычно иметь селектортакжесодержат «domainkey».Если вы действительно хотели этого как селектор, вы бы поместили ключ вdefault.domainkey._domainkey.example.com
- Я сначала не заметил, потому что подтвердил ключ вdefault._domainkey.example.com
.
Рекомендация:Удалитьдополнительный domainkey
из двух таких меток. Используйте точки в селекторе только в том случае, если вы собираетесь использовать то, как это взаимодействует со значением точек в контексте DNS, в противном случае это просто ненужный источник путаницы.
Настройте ключ с именем, фактически кодирующим что-то, что поможет вспомнить, что это за ключ, или в какой-то момент позже:был(что является моей главной причиной рекомендовать такие вещи, какrsa2021
см. выше default
). В зависимости от того, как настроен ваш почтовый сервер, вы можете захотеть удалить неверный ключ и сгенерировать новый, на этот раз задав имя с самого начала — это необходимо для того, чтобы избежать других несоответствий в конфигурации.