SPF-запись: что это, как настроить и проверить
Дата: 2025-06-02 | Время чтения: 6 минут (1188 слов)
SPF-запись (Sender Policy Framework record) — это TXT-запись в DNS, которая определяет, какие серверы могут отправлять почту с использованием домена в SMTP-конверте. SPF проверяет прежде всего домен из
MAIL FROM, а также может проверять домен из HELO/EHLO, но не подтверждает видимый пользователю адрес в поле From. Для защиты последнего используется DMARC.
Например, SPF-запись может выглядеть так:
v=spf1 ip4:192.0.2.10 include:_spf.example.com -allЗдесь:
v=spf1— версия SPF;ip4— разрешённый IPv4-адрес;include— проверка SPF-политики другого домена для авторизации источника;-all— остальные источники не авторизованы.
Пример SPF-записи
Зачем нужна SPF-запись
SPF ограничивает круг серверов, которым разрешено использовать домен в SMTP-конверте при отправке почты. Получающий сервер сопоставляет IP источника с опубликованной SPF-политикой и получает результат аутентификации.
Корректная SPF-запись решает несколько задач:
- Авторизация серверов-отправителей. Владелец домена указывает, какие IP-адреса и сервисы могут использовать его домен в
MAIL FROM. - Email-аутентификация. Почтовые сервисы используют SPF как один из механизмов проверки отправителя. Отсутствие необходимой аутентификации или ошибки в ней могут привести к проблемам с доставкой.
- Поддержка DMARC. Если SPF проходит проверку и домен
MAIL FROMсоответствует видимому домену в поле From, такой результат может обеспечить прохождение DMARC.
SPF не защищает видимое поле From самостоятельно. Злоумышленник может использовать свой домен в
MAIL FROM, успешно пройти SPF для него и одновременно указать чужой домен в поле From. Поэтому SPF обычно используют вместе с DKIM и DMARC.
Как работает SPF-проверка
Во время SMTP-сессии сервер получателя знает IP-адрес отправляющего сервера и домен из
MAIL FROM. Он запрашивает для этого домена в DNS TXT-запись, начинающуюся с v=spf1. SPF также предусматривает проверку домена из HELO/EHLO.Принимающий сервер сопоставляет IP отправляющего с механизмами SPF-записи и получает один из результатов:
- PASS — источник авторизован политикой SPF;
- FAIL — владелец домена явно указал, что источник не авторизован;
- SOFTFAIL — источник считается неавторизованным, но политика не выражает строгого требования об отказе;
- NEUTRAL — политика не выражает положительного или отрицательного решения об источнике;
- NONE — подходящая SPF-запись не найдена;
- TEMPERROR — проверку не удалось завершить из-за временной ошибки, например проблемы с DNS;
- PERMERROR — SPF-политика содержит постоянную ошибку, например превышен лимит DNS-запросов или опубликовано несколько SPF-записей.
SPF не предписывает способ обработки результата. Например,
FAIL означает, что источник не авторизован, но решение отклонить или принять письмо принимает почтовая система с учётом этого и других сигналов.SPF-запись обычно заканчивается механизмом
all, который задаёт результат для источников, не совпавших с предыдущими правилами:-all— строгийFAIL;~all—SOFTFAIL;?all—NEUTRAL;+all—PASSдля любого источника.
Использовать
+all не стоит: такая политика авторизует любой сервер и лишает SPF смысла как механизма ограничения отправителей.Важно различать
MAIL FROM, Return-Path и видимый From:- SPF проверяет SMTP-идентификатор
MAIL FROM. - После доставки сообщения этот адрес обычно отражается в заголовке Return-Path.
- При проверке DMARC домен
MAIL FROMсопоставляется с доменом в поле From по правилам выравнивания доменов (alignment).
Подробнее о настройке email-аутентификации — в документации Altcraft.
Как настроить SPF-запись
1. Определите все источники отправки писем. Составьте список серверов и сторонних сервисов, которые должны отправлять почту с использованием вашего домена.
2. Сформируйте SPF-запись. Она начинается с
v=spf1. Затем добавьте необходимые механизмы:ip4илиip6— для конкретных IP-адресов или подсетей;a— для IP-адресов, на которые указывает A- или AAAA-запись указанного домена;mx— для IP-адресов почтовых серверов из MX-записей;include— для авторизации серверов стороннего сервиса через его SPF-политику.
Например, для Google Workspace используется
include:_spf.google.com, для облачной версии Altcraft — include:spf.akmta.net.В конце записи обычно указывают подходящую политику для остальных источников, например
-all или ~all.3. Добавьте TXT-запись в DNS. Для корневого домена в панели DNS часто используется имя
@, но конкретный формат зависит от провайдера.4. Убедитесь, что опубликована только одна SPF-запись с
v=spf1. Если их несколько, проверка завершится результатом PERMERROR. При подключении нового сервиса его правила нужно добавлять в существующую SPF-политику.5. Проверьте запись. После изменения DNS убедитесь, что SPF-запись доступна, содержит все необходимые источники и не превышает установленные лимиты.
Как проверить SPF-запись
Для проверки SPF есть несколько способов.
1. Через консольные утилиты. Например:
nslookup -type=TXT такойтодомен.comили:
dig TXT такойтодомен.comПроверьте:
- есть ли TXT-запись, начинающаяся с
v=spf1; - не опубликовано ли несколько SPF-записей;
- указаны ли нужные серверы и сервисы.
2. Через онлайн-сервисы. SPF-валидаторы показывают опубликованную политику, ошибки синтаксиса и количество DNS-запросов при её вычислении.
Если проверка сообщает
Multiple SPF records found или Too many DNS lookups, запись нужно исправить.3. Через тестовое письмо. Отправьте письмо на внешний почтовый ящик и откройте технические заголовки. Например, в Gmail это можно сделать через пункт «Показать оригинал».
В результатах аутентификации можно увидеть:
spf=pass— SPF-проверка пройдена;spf=fail— источник не авторизован политикой SPF;- другие результаты, например
softfail,neutral,temperrorилиpermerror.
Проверка SPF-записи в интерфейсе Gmail
Частые ошибки при настройке SPF
Наличие нескольких SPF-записей. Для одного доменного имени нельзя публиковать несколько SPF-политик, начинающихся с
v=spf1. Если при проверке обнаружено больше одной такой записи, SPF возвращает PERMERROR.Что делать: объедините все необходимые механизмы в одну SPF-запись.
Превышение лимита DNS-запросов. SPF ограничивает десятью количество механизмов и модификаторов, которые инициируют DNS-поиск. В лимит входят
include, a, mx, ptr, exists и redirect. Учитываются и запросы, возникающие при рекурсивной обработке include. При превышении лимита проверка завершается с результатом PERMERROR.Что делать: удалите неиспользуемые механизмы и сервисы, проверьте вложенные
include. Иногда для сокращения числа DNS-запросов используют SPF flattening — часть динамически получаемых данных заменяют явными IP-адресами. Такой вариант требует постоянного контроля: если сторонний сервис изменит свои IP-адреса, статическая запись может устареть.Ошибки в синтаксисе. Неверное имя механизма, некорректный IP-адрес, ошибочный домен или неправильная структура записи могут привести к ошибке SPF.
Что делать: после изменений проверяйте запись SPF-валидатором.
Использование
+all. Механизм +all возвращает PASS для любого источника.Что делать: не используйте
+all как рабочую политику. Ограничьте отправку известными серверами и выберите подходящий результат для остальных источников.Проблемы при пересылке писем. При обычной пересылке письмо приходит к конечному получателю уже с IP-адреса пересылающего сервера. Если исходный
MAIL FROM сохраняется, этот сервер обычно не входит в SPF-политику исходного домена, поэтому проверка может завершиться неудачно.Что делать: сервис пересылки может использовать SRS (Sender Rewriting Scheme), который переписывает
MAIL FROM на собственный домен. В этом случае пересланное письмо может пройти SPF уже для домена пересылающего сервера. Однако SRS не сохраняет SPF alignment исходного домена с видимым From и поэтому сам по себе не гарантирует прохождение DMARC. При пересылке DMARC может пройти по DKIM, если DKIM-подпись сохранилась.Заключение
SPF — один из базовых механизмов email-аутентификации. Он определяет, какие серверы авторизованы использовать домен в SMTP
MAIL FROM или HELO/EHLO, и даёт принимающей стороне результат проверки источника.SPF не подтверждает видимое поле From самостоятельно. Для защиты этого домена его используют вместе с DKIM и DMARC: успешный SPF может участвовать в прохождении DMARC, если домен из
MAIL FROM соответствует домену отправителя в поле From.
Изучите работу с email-рассылками и другими каналами прямой коммуникации на практическом курсе Altcraft и увеличьте отдачу от клиентской базы.


