Письма попадают в спам: DKIM, SPF и DMARC не проходят

  • Обновлено
  • Чтение ≈ 4 минуты

Краткий ответ

Письма попадают в спам при ошибках DKIM, SPF и DMARC. Проверьте заголовки Authentication-Results, добавьте DKIM-ключ в DNS, согласуйте домен отправителя и подписи, настройте SPF и DMARC, проверьте репутацию IP и содержимое письма.

В этой статье
  1. Как устроена проверка
  2. Причины
  3. Диагностика
  4. Проверка в почтовых сервисах
DKIM fail
dkim=fail / dkim=neutral / spf=fail / dmarc=fail
По-русскиПодпись письма не проходит проверку, письмо уходит в спам.

#Как устроена проверка

DKIM — цифровая подпись письма. Отправляющий сервер подписывает заголовки приватным ключом, получатель находит публичный ключ в DNS домена (запись TXT селектор._domainkey.домен) и сверяет подпись. Если запись отсутствует, неверна или письмо изменили после подписи, в заголовках будет dkim=fail. Вместе с SPF и DMARC это основные факторы, по которым Gmail, Яндекс и Mail.ru решают, поместить ли письмо в спам.

#Причины

Возможная причинаКак узнатьЧто делать
Нет DKIM-записиНе добавили ключ.dkim=none.Добавьте TXT-запись.
Неверный ключ или селекторОпечатка в ключе.dkim=fail (bad signature).Скопируйте заново, без пробелов.
Письмо изменено после подписиПодвал рассылки, антивирус.body hash did not verify.Подписывайте после модификаций.
Домен подписи не совпадает с отправителемСервис подписывает своим доменом.dmarc=fail.Настройте свой домен в сервисе.
DNS не успел обновитьсяСвежая запись.Проверка не видит ключ.Подождите до 24 часов.
Плохая репутация IP или контентаСпам-слова, чёрные списки.Оценка в mail-tester низкая.Исправьте контент, проверьте IP.

#Диагностика

  1. Отправьте проверочное письмо и изучите заголовкиОтправьте одно обычное письмо с вашего домена на ящик, где можно просмотреть подробные заголовки, или на выданный тестовый адрес mail-tester.com. Не отправляйте конфиденциальную переписку в сторонний сервис. Посмотрите отчёт SPF, DKIM, DMARC и конкретные причины отказов; оценка сервиса — вспомогательный показатель, а не гарантия доставки во «Входящие».
  2. Откройте исходный текст письмаВ Gmail откройте полученное письмо, меню с тремя точками возле письма → «Показать оригинал» и найдите Authentication-Results. В других почтовых службах ищите «Исходник письма»/«Показать заголовки». Запишите spf=, dkim= и dmarc=, а также домены, участвующие в проверке. Не публикуйте заголовки целиком: в них могут быть адреса и служебные идентификаторы.
  3. Убедитесь, что dkim=pass, spf=pass, dmarc=passСравните spf=pass, dkim=pass, dmarc=pass или причины fail. Для DMARC требуется не просто прохождение SPF/DKIM, а совпадение (alignment) домена From хотя бы по одному успешно прошедшему механизму. Поэтому наличие spf=pass ещё не доказывает прохождение DMARC. При fail выясняйте конкретный домен и источник письма, а не добавляйте случайные DNS-записи.
  4. Проверьте TXT-запись DKIM в DNSВ панели почтового провайдера найдите раздел DKIM и получите точные имя селектора и значение TXT (иногда CNAME). В панели авторитетного DNS добавьте запись именно по этой инструкции; старые чужие селекторы не удаляйте до проверки. После сохранения выполните dig TXT selector._domainkey.example.ru +short, подставив реальный селектор и домен, и сравните с выданным ключом.
  5. Убедитесь, что домен в d= подписи совпадает с доменом отправителяВ заголовке DKIM-Signature найдите d= и сопоставьте его с видимым доменом в From. При строгом совпадении DMARC домены должны быть идентичны; при ослабленном допускается общий организационный домен. Если отправка идёт через рассылку, настройте пользовательский DKIM-домен у неё, а не редактируйте подпись письма вручную. После изменения отправьте новое тестовое письмо.
  6. Проверьте SPF и DMARC записиВ DNS-панели проверьте, что у домена отправителя одна действующая TXT-запись SPF v=spf1, а не несколько, и она включает все авторизованные серверы. Запись _dmarc создавайте с политикой, соответствующей текущей готовности инфраструктуры; для начала мониторинга обычно применяют p=none и собственный адрес отчётов. Не копируйте SPF с include другого провайдера, не зная, кто отправляет ваши письма.
  7. Проверьте, не изменяет ли письмо промежуточный сервисЕсли до адресата письмо идёт через форвардер, CRM или шлюз антивируса, сравните заголовки до и после этой точки: пересылка может нарушать SPF, изменение тела — DKIM. Для пересылки полезны SRS/ARC, если их поддерживает провайдер. После настройки отправьте несколько новых тестовых писем через каждую реальную систему отправки, не делая вывод из одного успешного письма.
  8. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Публичный ключ DKIM в DNS (замените селектор и домен)
    Linux · Терминал (Bash)Команда
    Публичный ключ DKIM в DNS (замените селектор и домен)
    dig +short TXT selector1._domainkey.example.ru
    Вариант 2SPF и DMARC записи домена
    Linux · Терминал (Bash)Команда
    SPF и DMARC записи домена
    dig +short TXT example.ru | grep -i spf
    dig +short TXT _dmarc.example.ru
    Вариант 3Проверка настроек на почтовом сервере с OpenDKIM
    Linux · Терминал (Bash)Команда
    Проверка настроек на почтовом сервере с OpenDKIM
    opendkim-testkey -d example.ru -s selector1 -vvv
    systemctl status opendkim --no-pager
    Вариант 4Примеры записей DNS (значения замените на данные вашего сервиса)
    ТекстКоманда
    Примеры записей DNS (значения замените на данные вашего сервиса)
    example.ru. TXT "v=spf1 include:_spf.yandex.net ~all"
    selector1._domainkey.example.ru. TXT "v=DKIM1; k=rsa; p=ПУБЛИЧНЫЙ_КЛЮЧ"
    _dmarc.example.ru. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.ru"

#Проверка в почтовых сервисах

Для Яндекс 360 ключи DKIM создаются в разделе «Домены → DNS → DKIM», для Google Workspace — в Admin console → «Gmail → Аутентификация email». Для рассылок (Unisender, SendPulse) используйте инструкцию сервиса и добавьте их include в SPF. Помните, что SPF допускает только одну запись v=spf1 на домен и не более 10 DNS-запросов.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.