Главная • Глоссарий • SPF-запись: что это, как настроить и проверить

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:
  1. SPF проверяет SMTP-идентификатор MAIL FROM.

  2. После доставки сообщения этот адрес обычно отражается в заголовке Return-Path.

  3. При проверке 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 и увеличьте отдачу от клиентской базы.
subscription, banner, email

Покажем платформу
и найдём решение под задачи вашего бизнеса