SPF, DKIM и DMARC простыми словами
Письма с сайта (регистрация, сброс пароля, заявки) или рассылки уходят в спам? Или кто-то рассылает фишинг «от вашего домена»? За это отвечают три DNS-записи: SPF, DKIM и DMARC. Без них почтовые сервисы не доверяют вашим письмам. Разберём простыми словами, что это, зачем и как настроить.
SPF — кто может слать почту
SPF (Sender Policy Framework) — это TXT-запись в DNS со списком серверов, которым разрешено отправлять письма от вашего домена. Когда приходит письмо, почтовый сервер смотрит: с какого IP оно пришло и есть ли этот IP в SPF. Нет — письмо подозрительное. В конце записи стоит правило: -all (жёстко: всех остальных отклонять) или ~all (мягко: помечать как спам). Пример: v=spf1 ip4:185.4.228.66 a mx ~all.
DKIM — подпись, что письмо не подделали
DKIM (DomainKeys Identified Mail) — криптографическая подпись. Почтовый сервер подписывает каждое письмо закрытым ключом, а получатель проверяет подпись по открытому ключу, опубликованному в DNS. Совпало — письмо точно от вас и не изменено в пути. Запись лежит по адресу селектор._domainkey.домен, где селектор задаёт почтовый сервер. Поэтому проверить DKIM «вслепую» нельзя — нужно знать селектор (он виден в заголовке любого письма как s=). Пошаговая настройка — в отдельной статье как настроить DKIM.
DMARC — что делать с непрошедшими
DMARC (Domain-based Message Authentication) связывает SPF и DKIM и говорит получателю, как поступать с письмами, не прошедшими проверку. Политика задаётся в _dmarc.домен:
| Политика | Что значит |
|---|---|
| p=none | Только мониторинг — ничего не блокируется (с этого начинают) |
| p=quarantine | Подозрительные письма — в спам |
| p=reject | Подозрительные письма — отклонять (максимальная защита) |
Также в DMARC указывают адрес для отчётов (rua=mailto:…), куда приходит статистика по вашей почте.
Как настроить: пошагово
- Включите SPF. Добавьте TXT-запись в корень домена со списком серверов вашего почтового провайдера (он даёт готовую строку). Начните с
~all. - Включите DKIM. В панели почтового провайдера/хостинга активируйте DKIM — он сгенерирует ключ и селектор. Опубликуйте выданную TXT-запись
селектор._domainkey.доменв DNS. - Добавьте DMARC. TXT в
_dmarc.домен: начните сv=DMARC1; p=none; rua=mailto:вы@домен— это режим наблюдения. - Проверьте и ужесточайте. Убедитесь, что письма проходят SPF и DKIM (проверкой и по заголовкам реального письма), затем поднимайте DMARC до
quarantine, а потом доreject.
Что происходит, когда письмо приходит
Чтобы три записи сложились в голове в единую картину, проследим путь одного письма. Вы нажали «отправить», и дальше всё решает сервер получателя — Gmail, Яндекс или Mail.ru. Он за доли секунды прогоняет письмо через конвейер проверок:
Ключевой момент в конце — выравнивание (alignment): DMARC засчитывает проверку, только если домен в адресе «От кого» совпадает с доменом, который прошёл SPF или подписал DKIM. Поэтому бывает, что SPF и DKIM формально «зелёные», а DMARC всё равно падает — об этом ниже.
Как прочитать заголовки письма
Самый честный способ проверить, что всё работает, — отправить письмо себе на Gmail или Яндекс и открыть исходник (в Gmail: «Показать оригинал»). В заголовках будет строка Authentication-Results примерно такого вида:
| spf | pass — IP отправителя есть в SPF домена |
| dkim | pass — подпись верна, письмо не изменено |
| dmarc | pass — домены выровнены, политика соблюдена |
Три pass подряд — всё настроено. Если видите fail или none, ищите проблему именно в этой записи. Заодно в том же заголовке виден ваш DKIM-селектор (поле s=) — он нужен, чтобы проверить DKIM прицельно.
Рассылки и сторонние сервисы: не забыть про делегирование
Письма за вас часто шлёт не только хостинг, но и сторонние сервисы: рассылочный сервис (ESP), CRM, платёжный шлюз, форма заявки. Каждый такой сервис отправляет «от вашего домена» со своих серверов — и если их нет в ваших записях, письма уйдут в спам. Что нужно сделать:
- SPF — добавить include сервиса (его подсказывают в настройках), например
include:_spf.провайдер.ru. Но помните про лимит: SPF не должен требовать больше 10 DNS-запросов, иначе он «ломается» — лишние сервисы выносите аккуратно. - DKIM — опубликовать DKIM-ключ сервиса по выданному им селектору (у разных отправителей свои селекторы — это нормально, их может быть несколько).
- DMARC — отдельно настраивать не нужно, политика общая. Но в отчётах
ruaвы увидите, какие сервисы шлют от вашего имени, — удобно ловить и забытые рассылки, и реальные подделки.
Частые ошибки настройки
Большинство проблем с почтой — это не «магия спам-фильтров», а одни и те же грабли в записях:
- Две SPF-записи на домене. Должна быть ровно одна TXT с
v=spf1— несколько штук делают SPF недействительным. Все серверы объединяют в одну строку. - Превышен лимит 10 DNS-запросов в SPF (много
include) — проверка валится с ошибкой permerror. - Сразу поставили
p=reject, не убедившись, что свои письма проходят, — и легитимные рассылки начали отклоняться. - Забыли субдомены. Если с поддоменов тоже уходит почта, им нужны свои записи; политику для них в DMARC задаёт тег
sp=. - Опечатки и неверный хост. DMARC-запись должна лежать строго в
_dmarc.домен, DKIM — вселектор._domainkey.домен.
BIMI: логотип бренда рядом с письмом
Когда DMARC доведён до quarantine или reject, открывается приятный бонус — BIMI. Это запись, которая позволяет показывать логотип вашего бренда рядом с письмом в почтовом ящике (так делают крупные магазины и банки). Технически это TXT-запись со ссылкой на ваш логотип в формате SVG. BIMI не обязателен и работает не во всех почтовиках, но повышает узнаваемость и доверие — а значит, и открываемость писем. Главное условие — сначала навести порядок в SPF, DKIM и строгом DMARC.
Как это связано с SEO
Напрямую SPF/DKIM/DMARC на позиции не влияют, но влияют косвенно: письма с сайта (подтверждение регистрации, ответы клиентам) должны доходить, иначе теряются пользователи и конверсии. А подделка писем «от вашего бренда» бьёт по репутации и доверию — а доверие это уже часть E-A-T. Проверить остальную техническую часть сайта поможет технический аудит.
Коротко: SPF говорит, кто вправе слать почту от домена; DKIM подписывает письма, подтверждая подлинность; DMARC задаёт, что делать с письмами, не прошедшими проверку. Вместе они спасают от попадания в спам и от подделок «от вашего имени». Настраиваются в DNS-зоне домена, ужесточать DMARC нужно постепенно. Проверить своё состояние — инструментом проверки почты. Если записи в порядке, а письма всё равно не доходят, — проверьте IP по чёрным спискам; полный разбор всех уровней фильтрации — в статье почему письма попадают в спам.