DKIM не проходит проверку
Если подпись есть, но DKIM=fail, проверяем selector, публичный ключ и то, изменяется ли письмо после подписания.
Проверьте по порядку
Фиксируйте результат каждого шага. Это важнее, чем быстро попробовать несколько исправлений одновременно.
- 1Из заголовка DKIM-Signature возьмите d= и s= — домен и selector.
- 2Проверьте TXT по s._domainkey.d, а не предполагаемый selector.
- 3Сверьте публичный ключ с приватным ключом реально используемого MTA.
- 4Если DNS правильный, проверьте, не меняет ли промежуточный шлюз тело/заголовки после DKIM-подписи.
Как читать результат
Неверный selector
Признак: DNS проверяется не по тому имени.
Что делать: Используйте selector из реальной DKIM-Signature.
Ключ не совпадает
Признак: DNS содержит старый p=.
Что делать: Обновите TXT или конфигурацию signing key.
Письмо изменено после подписи
Признак: DKIM ломается только через определённый relay.
Что делать: Подписывайте после всех преобразований или исправьте relay.
Не маскируйте симптом
Ошибка полезна, пока она воспроизводится. Сначала определите источник и только потом очищайте кэш, перезапускайте сервисы или меняйте DNS.