Поступающие на наши сервера письма проходят проверки. Одна из них — проверка на подлинность отправителя (SPF, DKIM, DMARC).

SPF позволяет владельцу домена указать в TXT-записи домена строку, указывающую список серверов, имеющих право отправлять email-сообщения с обратными адресами в этом домене. Как настроить SPF

DKIM обеспечивает проверку авторства сообщения или принадлежности его отправителя определенному домену с помощью технологий цифровой подписи. Как настроить DKIM

DMARC задает политику как проверять приходящую почту в определенном домене и что делать если письма не проходят аутентификацию SPF или DKIM. Как настроить DMARC

Служебный заголовок Authentication-Results содержит сведения о результатах проверки на подлинность отправителя.

Как посмотреть результат проверки на подлинность отправителя

  1. Откройте почту в браузере на компьютере.
  2. Откройте письмо.
  3. Нажмите на три точки в правом верхнем углу.
  4. Выберите «Служебные заголовки».

Или скачайте письмо в формате .eml:

  1. Откройте почту в браузере на компьютере.
  2. Откройте письмо.
  3. Нажмите на три точки в правом верхнем углу.
  4. Выберите «Скачать на компьютер».

Откройте письмо в любом текстовом редакторе. Найдите заголовок Authentication-Results.

Разбор результата проверки на подлинность отправителя на примере

Запись результата проверки на подлинность отправителя выглядит так:

Authentication-Results: mxs.mail.ru; spf=pass (mx257.i.mail.ru domain of example.com designates 153.34.11.81 as permitted sender) smtp.mailfrom=example@example.com smtp.helo=mail-oa1-f51.example.com; dkim=pass header.d=example.com; dmarc=pass

Найдите в этой записи нужные сущности и изучите их значение.

Authentication-ResultsСлужебный заголовок
spf=pass (mx257.i.mail.ru domain of example.com
designates 153.34.11.81 as permitted sender)
smtp.mailfrom=example@example.com
smtp.helo=mail-oa1-f51.example.com;
Блок проверки SPF
dkim=pass header.d=example.com;Блок проверки DKIM
dmarc=pass header.from=example@example.comБлок проверки DMARC

Блок проверки SPF

spf=passРезультат проверки SPF
example.comДомен, SPF-запись которого проверяется
(извлекается из значения команды SMTP-протокола MAIL FROM,
а если ее нет - из значения команды SMTP HELO)
153.34.11.81Результат проверки
Домен, SPF-запись которого проверяется
(извлекается из значения команды SMTP-протокола MAIL FROM,
а если ее нет - из значения команды SMTP HELO)
IP-адрес, с которого письмо поступило на сервер получателя
example@example.comАдрес отправителя, который был указан
в команде MAIL FROM на этапе SMTP-сессии
mail-oa1-f51.example.comИмя сервера отправителя, который был указан
в команде HELO на этапе SMTP-сессии

Блок проверки DKIM

dkim=passРезультат проверки DKIM
header.d=example.comДомен из тега d= проверяемой DKIM-подписи

Блок проверки DMARC

dmarc=passРезультат проверки DMARC
header.from=example@example.comАдрес отправителя, который указан
в служебном заголовке From письма

DMARC — примеры и значение

Результат проверкиЗначениеВозможные варианты решения
dmarc=passПолитика DMARC для домена из поля From найдена
и
Письмо прошло проверку по DKIM или SPF
и
Домен, для которого аутентификация DKIM или SPF успешна, соответствует домену из поля From
  • Письмо успешно прошло проверку - решение не требуется
dmarc=failПолитика DMARC для домена из поля From: найдена
и
Письмо не прошло проверку ни по DKIM, ни по SPF

или

Политика DMARC для домена из поля From: найдена
и
Домен, для которого аутентификация DKIM или SPF успешна, не совпадает с доменом из поля From
  • Проанализируйте rua-отчеты и определите категорию писем вашего домена, не проходящих проверку
  • Убедитесь, что письмо проходит проверку по SPF или DKIM
  • Убедитесь, что домен, для которого аутентификация DKIM или SPF успешна, соответствует домену из поля From
dmarc=temperrorПри получении политики DMARC для домена из поля From возникла временная ошибка. При повторной отправке проблема может быть решена
  • Убедитесь в доступности NS-серверов вашего домена
    Повторите отправку
dmarc=permerrorПри получении политики DMARC для домена из поля From возникла постоянная ошибка (например, синтаксическая ошибка в TXT-записи с настройками). Для решения проблемы необходимо принятие мер
  • Проверьте TXT-запись с настройками DMARC на наличие синтаксических ошибок
Тег dmarc= в заголовке Authentication-Results отсутствуетПолитика DMARC для домена из поля From не найдена
  • Настройте политику DMARC для домена по инструкции
  • Проверьте корректность имени TXT-записи с настройками DMARC
  • Убедитесь, что DNS-зона синхронизирована между всеми NS-серверами домена, а сами NS-сервера доступны для DNS-запросов

SPF — примеры и значение

Результат проверкиЗначениеВозможные варианты решения:
spf=passSPF-запись для домена из envelope_from найдена
и
Письмо успешно прошло проверку SPF
Письмо успешно прошло проверку – решение не требуется
spf=noneSPF-запись для домена из envelope_from не найденаНастройте SPF-запись для домена по инструкции:
  • Проверьте корректность имени TXT-записи с настройками SPF
  • Убедитесь, что DNS-зона синхронизирована между всеми NS-серверами домена, а сами NS-сервера доступны для DNS-запросов
spf=neutralSPF-запись для домена из envelope_from найдена
и
Письмо не прошло проверку SPF
и
Параметр all в SPF-записи домена отправителя задан с префиксом ?.
Владелец домена из envelope_from рекомендует обрабатывать сообщение как обычное
  • Убедитесь, что в SPF-записи домена перечислены все IP-адреса и домены, которым разрешено отправлять электронную почту от имени вашего домена, а параметры и механизмы заданы корректно.
  • Если в SPF-записи присутствуют DNS-зависимые директивы, по которым проверяющий сервер делает дополнительные запросы, убедитесь, что их количество не превышает 10
    spf=failSPF-запись для домена из envelope_from найдена
    и
    Письмо не прошло проверку SPF
    и
    Параметр all в SPF-записи домена отправителя задан с префиксом ?.
    Владелец домена из envelope_from рекомендует жестко отклонять сообщение
    • Убедитесь, что в SPF-записи домена перечислены все IP-адреса и домены, которым разрешено отправлять электронную почту от имени вашего домена, а параметры и механизмы заданы корректно.
    • Если в SPF-записи присутствуют DNS-зависимые директивы, по которым проверяющий сервер делает дополнительные запросы, убедитесь, что их количество не превышает 10
      spf=softfailSPF-запись для домена из envelope_from найдена
      и
      Письмо не прошло проверку SPF
      и
      Параметр all в SPF-записи домена отправителя задан с префиксом ?.
      Владелец домена из envelope_from не уверен, стоит ли жестко отклонять сообщение
      • Убедитесь, что в SPF-записи домена перечислены все IP-адреса и домены, которым разрешено отправлять электронную почту от имени вашего домена, а параметры и механизмы заданы корректно.
      • Если в SPF-записи присутствуют DNS-зависимые директивы, по которым проверяющий сервер делает дополнительные запросы, убедитесь, что их количество не превышает 10
        spf=temperrorВременная ошибка на одном из этапов проверки SPF.
        Проблема может быть решена при повторной отправке.
        • Убедитесь в доступности NS-серверов вашего домена
        • Повторите отправку
        spf=invalidПри попытке получить SPF-запись для домена из envelope_from возникла ошибка.
        • Убедитесь в доступности NS-серверов вашего домена
        • Повторите отправку
        spf=permerrorSPF-запись для домена из envelope_from найдена
        и
        SPF-запись содержит синтаксические ошибки
        • Проверьте SPF-запись на наличие синтаксических ошибок

        DKIM — примеры и значение

        Результат проверкиЗначениеВозможные варианты решения:
        dkim=passВ письме есть DKIM-подпись
        и
        Ее проверка завершается успешно
        Письмо успешно прошло проверку – решение не требуется
        dkim=invalid
        reason=pubkey_unavailable
        В письме есть DKIM-подпись
        и
        Публичный ключ домена из тега d= по указанному селектору в теге s= не может быть получен. Возможно проблема временная
        • Убедитесь, что TXT-запись с публичным ключом имеет корректное имя mail._domainkey.example.com
        • (где вместо example.com должен быть ваш домен, а вместо mail - значение вашего селектора s= из DKIM-подписи)
        • Убедитесь, что DNS-зона синхронизирована между всеми NS-серверами домена, а сами NS-сервера доступны для DNS-запросов
          dkim=invalid
          reason=pubkey_syntax
          В письме есть DKIM-подпись
          и
          Публичный ключ домена из тега d= по указанному селектору в теге s= содержит синтаксические ошибки
          • Убедитесь, что TXT-запись с публичным ключом задана один раз и не содержит синтаксические ошибки и случайные символы
            dkim=fail
            reason=bodyhash_mismatch
            В письме есть DKIM-подпись
            и
            Содержимое тела письма было изменено во время пересылки
            • Если письмо пересылается через сторонний сервер, свяжитесь с почтовым администратором этого узла и попросите не изменять письма, т.к. они не проходят проверку на валидность
            • Если письмо не проходит проверку на валидность после хождения внутри вашей почтовой инфраструктуры - выявите сервер, при пересылке через который оно изменяется, и настройте пересылку без изменения письма. Или подписывайте DKIM-подписью только те письма, которые отправляются за пределы вашего сервиса
            • Убедитесь, что в теге p= TXT-записи с публичным DKIM-ключом (например, mail._domainkey.example.com) задано значение, сгенерированное в связке с приватным ключом
            • Помните, что время обновления DNS-записи может занимать до 48 часов
              dkim=fail
              reason=signature_incorrect
              В письме есть DKIM-подпись
              и
              Во время доставки была изменена она или подписанные ей служебные заголовки письма.
              Подписанные служебные заголовки перечислены в теге h= DKIM-подписи.

              или

              В письме есть DKIM-подпись
              и
              Приватный DKIM-ключ не соответствует публичному
              • Если письмо пересылается через сторонний сервер, свяжитесь с почтовым администратором этого узла и попросите не изменять письма, т.к. они не проходят проверку на валидность
              • Если письмо не проходит проверку на валидность после хождения внутри вашей почтовой инфраструктуры - выявите сервер, при пересылке через который оно изменяется, и настройте пересылку без изменения письма. Или подписывайте DKIM-подписью только те письма, которые отправляются за пределы вашего сервиса
              • Убедитесь, что в теге p= TXT-записи с публичным DKIM-ключом (например, mail._domainkey.example.com) задано значение, сгенерированное в связке с приватным ключом
              • Помните, что время обновления DNS-записи может занимать до 48 часов
                Тег dkim= в заголовке Authentication-Results отсутствуетDKIM-подпись в проверяемом письме отсутствуетНастройте отправку писем с DKIM-подписью домена по инструкции:
                • Проверьте корректность имени TXT-записи с настройками DMARC
                • Убедитесь, что DNS-зона синхронизирована между всеми NS-серверами домена, а сами NS-сервера доступны для DNS-запросов
                Помощь Mail
                Обновлено 11 декабря 2024 г.
                Была ли эта информация полезной?