Как настроить SPF, DKIM
и DMARC с нуля

Три записи в DNS, которые решают, дойдут ли ваши письма. По шагам, с проверкой каждой.

Эти три записи отвечают на три разных вопроса, и заменить одна другую не может. SPF — кому можно слать от имени домена. DKIM — не подменили ли письмо в пути. DMARC — что делать, если проверки не сошлись. Без третьей первые две ничего не решают: приёмник видит, что письмо поддельное, и всё равно не знает, как поступить.

Порядок действий

  1. SPF. Одна TXT-запись на корень домена. Перечисляет отправителей.
  2. DKIM. Ключ выдаёт почтовый провайдер, вы кладёте его в TXT на поддомене вида selector._domainkey.
  3. DMARC. TXT на _dmarc с политикой p=none и адресом для отчётов. Две-три недели читаете отчёты — и только потом ужесточаете.

Порядок именно такой. DMARC, поставленный первым и сразу строгим, выбросит письма ваших же сервисов, о которых вы забыли, — а узнать о них можно только из его отчётов.

SPF: кому можно слать

Запись одна на домен, живёт в корне и выглядит так:

v=spf1 include:_spf.google.com ~all

Что здесь что:

Главная ловушка — предел в десять обращений к DNS. Каждый include стоит одного, и у чужих записей внутри свои include. Перевалило за десять — запись перестаёт работать целиком, а не частично. Проверить своё число можно проверкой SPF.

Записей SPF на домене должна быть ровно одна. Две — это permerror: проверяющий отвергнет обе, а не выберет лучшую.

DKIM: подпись письма

DKIM — криптографическая подпись, которую почтовый сервер ставит на каждое исходящее письмо. Приёмник берёт открытый ключ из вашего DNS и проверяет, что письмо не менялось после отправки.

Сам ключ вы не придумываете — его выдаёт провайдер:

Имя записи выглядит как google._domainkey.example.com, где google — селектор. Селекторов может быть несколько: у каждого сервиса свой, и это нормально.

Ключ должен быть 2048 бит. Тысяча двадцать четыре ещё работают, но их уже помечают как слабые.

DMARC: что делать с непрошедшими

Запись живёт на поддомене _dmarc:

v=DMARC1; p=none; rua=mailto:dmarc@example.com; fo=1

p=none ничего не блокирует — и в этом смысл первого шага. Он включает отчёты, а отчёты показывают то, чего вы не знаете: кто ещё шлёт письма от имени вашего домена. Почти всегда находится забытая CRM, старый сервис рассылок или скрипт на сервере.

Через две-три недели: добавили найденных в SPF и DKIM → p=quarantine → ещё через месяц p=reject. Собрать готовую строку можно генератором DMARC.

Почему DMARC падает при верных SPF и DKIM

Самое неочевидное место. DMARC требует не просто «проверка прошла», а чтобы домен, который её прошёл, совпадал с доменом в поле From.

Письмо от you@company.com, ушедшее через сервис рассылок с его собственным конвертом, проходит SPF — но проходит домен сервиса. Для DMARC это чужой домен: spf=pass, dmarc=fail.

Лечится подписью DKIM вашим доменом — почти все сервисы дают добавить свой ключ. Убедиться, что сошлось, можно анализатором заголовков: сравните d= в подписи с доменом из From.

Как проверить, что всё встало

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

Что требуют Gmail и Yahoo

С 2024 года от отправителей больше 5000 писем в сутки требуют всё сразу: SPF, DKIM, DMARC хотя бы с p=none, заголовок List-Unsubscribe с отпиской в один клик и долю жалоб ниже 0,3%. Это не рекомендация — без этого письма не принимают.

Подробнее про то, что ещё влияет на доставку, — на странице как не попасть в спам.

Письма — из вашего же ящика

Записи настроены, домен ваш — MailSharks рассылает по списку из Google Таблицы с вашего адреса, с паузами, отпиской и статистикой открытий.

Попробуй сейчас Бесплатный тариф, карта не нужна. Доступ к Google отзывается в один клик.
MailSharks