Что такое 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-запись
- Соберите список всех, кто отправляет письма от домена. Корпоративная почта (Яндекс 360, VK WorkMail, Google Workspace), сервис рассылок, CRM, сайт с формами. Каждый сервис в своей инструкции указывает, что добавить в SPF.
- Проверьте, нет ли записи уже. Команда покажет все TXT-записи домена — ищите строку с
v=spf1:
nslookup -type=TXT shop.ru
- Если записи нет — создайте одну. TXT-запись, имя
@(сам домен), значение — все сервисы через пробел. - Если запись есть — дополните её. Добавьте нужный
includeперед~allили-all. Вторую запись не создавайте. - Подождите обновления 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=spf1 | SPF не проходит ни для одного сервиса | Объединить в одну запись |
Запись на поддомене 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 — это домен из адреса возврата письма.