SPF, DKIM и DMARC: что это и как настроить
Подставить ваш домен в поле «От кого» может кто угодно: протокол SMTP, по которому ходит почта, это никак не проверяет. Аутентификация почты — это три DNS-записи, которые позволяют принимающему серверу проверить отправителя за вас. SPF перечисляет серверы, которым разрешено отправлять от имени домена, DKIM ставит на каждое письмо криптографическую подпись, а DMARC связывает обе проверки с адресом, который видит получатель, и говорит, что делать с письмом, если проверка не прошла.
Без этих записей ваши настоящие письма чаще попадают в спам, а мошенникам проще рассылать письма от вашего имени. Ниже — что делает каждая запись, как они работают вместе и с чего начать.
SPF-запись: кому можно отправлять
SPF (Sender Policy Framework) — одна TXT-запись на домене со списком разрешённых отправителей. Типичная SPF-запись:
example.com. TXT "v=spf1 ip4:203.0.113.10 include:_spf.google.com ~all"
v=spf1— признак SPF, всегда в начале.ip4:/ip6:— отдельные адреса или диапазоны.include:— «доверяй и тем, кого перечисляет этот домен». Так подключают Google Workspace, Microsoft 365 или сервис рассылок.aиmx— серверы, на которые указывают A- и MX-записи домена.~allили-all— как поступать с остальными: мягкий отказ (принять, но с подозрением) или отказ.
Важная тонкость: SPF проверяет адрес конверта (Return-Path, который используется при доставке), а не адрес «От кого» в почтовой программе. Сервисы рассылок часто подставляют в Return-Path свой домен — SPF проходит, но о вашем домене ничего не доказывает. Эту дыру и закрывает DMARC.
Что опубликовано у вашего домена, покажет проверка SPF: механизмы по отдельности, итоговое правило и число DNS-запросов.
DKIM: подпись на каждом письме
DKIM (DomainKeys Identified Mail) работает как печать. Сервер-отправитель подписывает заголовки и текст письма закрытым ключом и добавляет заголовок DKIM-Signature. Получатель берёт открытый ключ из DNS и проверяет, что по дороге ничего не изменили. Главное в подписи:
d=— домен, который подписал письмо;s=— селектор, имя, под которым опубликован ключ:selector._domainkey.example.com.
Ключ ищется по селектору, поэтому у домена может быть несколько DKIM-ключей одновременно: для почтового сервиса, для рассылок, для CRM. Подробно о селекторах, длине ключа и ротации — в статье DKIM: что это, DKIM-запись и селектор. Есть ли ключ и какой он длины, покажет проверка DKIM.
DMARC: выравнивание и политика
DMARC — TXT-запись на поддомене _dmarc:
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:[email protected]"
Она делает три вещи:
- Требует выравнивания (alignment). Письмо проходит DMARC, только если SPF или DKIM прошли и домен, для которого они прошли, совпадает с доменом в видимом адресе «От кого». Для SPF это домен Return-Path, для DKIM — домен из
d=. По умолчанию сравнение мягкое:mail.example.comсчитается совпадающим сexample.com. - Задаёт политику для писем, которые не прошли:
none(только отчёт),quarantine(в спам) илиreject(отклонить). - Включает отчёты. Почтовые сервисы присылают на адрес
ruaежедневные сводки — в них видно каждый сервер, который отправляет почту от вашего домена, включая забытые.
Все теги, переход от p=none к p=reject и чтение отчётов разобраны в статье DMARC-запись: как настроить DMARC пошагово.
Как SPF, DKIM и DMARC работают вместе
| SPF | DKIM | DMARC | |
|---|---|---|---|
| Где живёт | TXT на домене | TXT (или CNAME) на selector._domainkey | TXT на _dmarc |
| Что проверяет | IP отправителя по списку | Подпись по открытому ключу | Что SPF или DKIM прошли для домена «От кого» |
| Переживает пересылку | Обычно нет | Обычно да, если письмо не меняли | Да, если уцелела хотя бы одна выровненная проверка |
| Защищает от подделки сам по себе | Нет | Нет | Да, при quarantine или reject |
Практический вывод: DKIM — более надёжная половина, потому что переживает пересылку. Добивайтесь, чтобы каждый поток настоящей почты проходил выровненный DKIM, а SPF держите как вторую линию.
Что требуют Gmail и Yahoo
С февраля 2024 года Google и Yahoo применяют опубликованные требования к отправителям, и другие крупные почтовые сервисы двигаются в ту же сторону. Если коротко:
- Всем, кто пишет на личные ящики Gmail и Yahoo, нужны SPF или DKIM, корректные прямая и обратная DNS-записи для IP отправки, TLS и низкая доля жалоб на спам.
- Массовым отправителям (Google называет порог около 5000 писем в день своим пользователям) нужны SPF и DKIM, DMARC-запись как минимум с
p=none, домен «От кого», выровненный с SPF или DKIM, и отписка в один клик для рекламных писем.
Чек-лист настройки
- Составьте список всех, кто отправляет почту от домена: почтовый сервис, форма на сайте, рассылки, CRM, служба поддержки, биллинг. Забытые отправители — главная причина, по которой внедрение DMARC ломает почту.
- Опубликуйте одну SPF-запись с сервисами, которые используют ваш домен в Return-Path. Уложитесь в 10 DNS-запросов.
- Включите DKIM в каждом сервисе с вашим доменом, а не с доменом провайдера. Сервис выдаст TXT- или CNAME-запись для публикации.
- Опубликуйте DMARC с
p=noneи адресомrua, который кто-то читает, или адресом сервиса разбора отчётов. - Читайте отчёты 2–4 недели и исправьте каждый настоящий источник, который не проходит выравнивание.
- Ужесточайте политику по шагам: quarantine, потом reject.
- Проверьте окружение: проверка MX покажет, куда принимается почта, а проверка IP по чёрным спискам — не попал ли адрес отправки в спам-базы. Остальные записи домена — в статье проверка DNS-записей.
Типичные ошибки
Две SPF-записи
При подключении нового сервиса часто добавляют вторую запись v=spf1 рядом со старой. По стандарту это постоянная ошибка, и многие получатели тогда игнорируют SPF целиком. Запись должна быть ровно одна — объедините механизмы в ней.
Больше 10 DNS-запросов
Каждый include, a, mx, ptr, exists и redirect стоит одного запроса, и вложенные include тоже считаются. Больше 10 — постоянная ошибка. Уберите сервисы, которыми не пользуетесь, замените a/mx на явные IP, если они стабильны, и не используйте ptr.
Сторонние отправители без DKIM
Google Workspace, Microsoft 365, Mailchimp и похожие сервисы умеют подписывать письма вашим доменом, но обычно только после того, как вы опубликуете их DKIM-записи и включите подпись. До этого они подписывают своим доменом или не подписывают вовсе, и письмо не проходит выравнивание DMARC.
p=reject в первый же день
Сразу поставить reject, не читая отчётов, — значит заблокировать всех забытых отправителей: систему счетов, форму на сайте, партнёра, который пишет от вашего имени. Начните с p=none, соберите данные и только потом ужесточайте.
Домены, которые не отправляют почту
Припаркованные и запасные домены любят подделывать как раз потому, что за ними никто не следит. Для домена без почты опубликуйте v=spf1 -all и v=DMARC1; p=reject.
Живой пример
Наш домен публикует v=DMARC1; p=none; rua=mailto:[email protected] и подписывает письма DKIM-ключом длиной 2048 бит с селектором mail (проверено в октябре 2026). Это нормальная стадия наблюдения: отчёты собираются, политика ужесточается, когда все источники подтверждены. Проверьте свой домен в проверке DMARC, чтобы понять, где вы сейчас.