SPF-запись: настройка и проверка

SPF — список серверов, которым разрешено отправлять письма от вашего домена. Разберём, из чего состоит запись, как объединить в ней несколько сервисов и какие ошибки ломают её чаще всего.

Обновлено:

Содержание
  1. Что такое SPF
  2. Из чего состоит запись
  3. Как добавить SPF-запись
  4. Лимит в 10 DNS-запросов
  5. Частые ошибки

Что такое SPF

SPF (Sender Policy Framework) — TXT-запись в DNS домена со списком серверов, которым разрешено отправлять письма от его имени. Почтовая служба получателя смотрит, с какого сервера пришло письмо, и сверяет его со списком. Если сервер в списке, проверка проходит.

Важная деталь: SPF проверяется для домена из адреса возврата письма (Return-Path, он же envelope from), а не из поля «От кого», которое видит получатель. Часто это один и тот же домен, но у сервисов рассылок адрес возврата обычно свой — на него приходят уведомления о недоставке.

Из чего состоит запись

v=spf1 include:_spf.yandex.net include:spf.falconsender.ru ip4:203.0.113.10 ~all
ЧастьЧто значит
v=spf1Начало записи, обязательно первым
include:доменРазрешить серверы, которые перечислены в SPF другого домена. Так подключают сервисы: корпоративную почту, рассылки, CRM
ip4:адресРазрешить конкретный IP-адрес или подсеть — например, свой почтовый сервер
a, mxРазрешить серверы из A- и MX-записей домена
~allОстальным серверам — «мягкий отказ»: письмо принимается, но считается подозрительным
-allОстальным серверам — «жёсткий отказ»: письмо можно отклонить

Запись читается слева направо, а all всегда стоит последним.

Как добавить SPF-запись

  1. Соберите список всех, кто отправляет письма от домена. Корпоративная почта (Яндекс 360, VK WorkMail, Google Workspace), сервис рассылок, CRM, сайт с формами. Каждый сервис в своей инструкции указывает, что добавить в SPF.
  2. Проверьте, нет ли записи уже. Команда покажет все TXT-записи домена — ищите строку с v=spf1:
nslookup -type=TXT shop.ru
  1. Если записи нет — создайте одну. TXT-запись, имя @ (сам домен), значение — все сервисы через пробел.
  2. Если запись есть — дополните её. Добавьте нужный include перед ~all или -all. Вторую запись не создавайте.
  3. Подождите обновления DNS — от 15 минут до суток — и проверьте заголовки тестового письма.

Примеры записей для распространённых сочетаний:

Почта доменаЗапись SPF
Только рассылкиv=spf1 include:spf.falconsender.ru ~all
Яндекс 360 + рассылкиv=spf1 include:_spf.yandex.net include:spf.falconsender.ru ~all
VK WorkMail (Mail.ru) + рассылкиv=spf1 include:_spf.mail.ru include:spf.falconsender.ru ~all
Google Workspace + рассылкиv=spf1 include:_spf.google.com include:spf.falconsender.ru ~all

Лимит в 10 DNS-запросов

При проверке SPF почтовая служба может сделать не больше 10 DNS-запросов. Каждый include, a, mx и redirect — это запрос, а include внутри чужих записей тоже считаются. При превышении проверка завершается ошибкой permerror, и SPF не учитывается совсем.

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

  • уберите сервисы, которыми больше не пользуетесь;
  • не добавляйте a и mx, если с серверов сайта и почты письма не отправляются напрямую;
  • для своего сервера указывайте ip4 — он не тратит запросы;
  • проверяйте запись онлайн-валидатором SPF: он посчитает запросы.

Частые ошибки

ОшибкаЧто происходитКак исправить
Две записи v=spf1SPF не проходит ни для одного сервисаОбъединить в одну запись
Запись на поддомене www или с именем домена в поле имениЗапись не находится там, где её ищутИмя @, то есть сам домен
Больше 10 запросовОшибка permerror, SPF не учитываетсяСократить include, заменить на ip4
-all до того, как перечислены все сервисыПисьма забытого сервиса отклоняютсяНачинать с ~all
Лишние пробелы, кавычки, опечатка в includeЗапись не разбирается или ссылается в никудаПроверить валидатором

SPF работает в связке с DKIM и DMARC. Когда обе первые записи проходят проверку, переходите к настройке DMARC.

Частые вопросы

Можно ли сделать две записи SPF

Нет. Если у домена две TXT-записи, начинающиеся с v=spf1, проверка SPF завершается ошибкой и не учитывается ни одна. Все сервисы перечисляются в одной записи.

Что выбрать: ~all или -all

Начинайте с ~all, пока не уверены, что перечислили все сервисы, которые отправляют письма от домена. Когда всё проверено, можно перейти на -all. Для защиты от подделки важнее настроить DMARC.

Нужна ли SPF-запись, если настроен DKIM

Да. Почтовые службы ожидают обе записи, а Gmail требует от массовых отправителей и SPF, и DKIM, а Яндекс и Mail.ru настоятельно рекомендуют. Записи дополняют друг друга.

Где посмотреть, проходит ли SPF

В заголовках письма: в Gmail — «Показать оригинал», строка SPF. Там же видно, для какого домена проверялся SPF — это домен из адреса возврата письма.

Попробуйте на своей базе

До 1 000 подписчиков — бесплатно навсегда. Карта при регистрации не нужна.