Электронная почта 2 мин чтения

В поле «От» (From) электронного письма кто угодно может указать любой адрес (подмена отправителя). Три стандарта на основе DNS позволяют принимающим серверам проверить, действительно ли письмо пришло с заявленного домена: SPF, DKIM и DMARC. С 2024 года Gmail и Yahoo требуют их от массовых отправителей, а отсутствие этих записей — одна из частых причин, по которым письма попадают в спам.

SPF: каким серверам разрешена отправка

Sender Policy Framework — это TXT-запись со списком серверов, которым разрешено отправлять почту от имени вашего домена.

example.com.  TXT  "v=spf1 include:_spf.google.com include:sendgrid.net -all"
  • include: добавляет серверы другого провайдера.
  • ip4: / ip6: добавляют конкретные адреса.
  • Окончание записи задаёт политику: -all (отклонять всё остальное), ~all (softfail: принимать, но помечать), ?all (нейтрально).

Принимающий сервер сверяет IP-адрес подключившегося сервера с записью для домена из заголовка Return-Path.

Ограничения: для домена допускается только одна SPF-запись, не более 10 DNS-запросов, а при пересылке писем SPF перестаёт работать.

DKIM: подпись на каждом письме

DomainKeys Identified Mail подписывает каждое письмо закрытым ключом на сервере отправителя. Открытый ключ публикуется в DNS:

selector1._domainkey.example.com.  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."

Получатель берёт селектор и домен из заголовка DKIM-Signature, запрашивает ключ и проверяет, что подписанные заголовки и тело письма не были изменены. DKIM сохраняется при пересылке. Запись для публикации вам выдаст ваш почтовый провайдер.

DMARC: политика, которая связывает всё воедино

Domain-based Message Authentication, Reporting and Conformance сообщает получателям, что делать с письмом, не прошедшим проверку, и требует, чтобы SPF или DKIM проходили для того же домена, что указан в адресе From (так называемое выравнивание, alignment).

_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com"
Политика Действие
p=none Только мониторинг и отправка отчётов
p=quarantine Письма, не прошедшие проверку, помещаются в спам
p=reject Письма, не прошедшие проверку, отклоняются

Начните с p=none, несколько недель изучайте отчёты, чтобы найти всех легитимных отправителей, а затем переходите к quarantine и reject.

Какие результаты вы увидите

Результат Значение
pass Проверка пройдена
fail Проверка не пройдена; при политике DMARC reject письмо отклоняется
softfail SPF ~all: отправитель не авторизован, но письмо не отклоняется сразу
neutral / none Политики или записи нет
temperror / permerror Проблема с DNS или ошибка в записи

Проверить результаты для конкретного письма можно с помощью нашего Email Header Analyzer, а записи вашего домена, включая лимит в 10 запросов, — с помощью SPF, DKIM & DMARC Checker. Он также сгенерирует для вас корректные записи.

Чек-лист настройки для вашего домена

  1. Опубликуйте одну SPF-запись, в которой перечислены все сервисы, отправляющие почту от вашего имени.
  2. Включите DKIM-подпись в каждом сервисе отправки и опубликуйте их ключи.
  3. Опубликуйте DMARC-запись с p=none и адресом для отчётов.
  4. Если у вас собственный почтовый сервер, настройте для него соответствующую запись обратной зоны DNS.
  5. Через несколько недель ужесточите DMARC до quarantine, а затем до reject.

Часто задаваемые вопросы

Нужны ли все три?

Да. SPF и DKIM выполняют проверки, а DMARC заставляет получателей действовать по их результатам и защищает ваш домен от подмены.

Почему SPF не проходит для пересланных писем?

Пересылающего сервера нет в вашей SPF-записи. DKIM при этом обычно проходит, а значит, проходит и DMARC.

Могут ли SPF, DKIM и DMARC остановить весь фишинг?

Они не позволяют другим использовать именно ваш домен. От похожих доменов они не защищают, поэтому внимательно проверяйте адрес отправителя.