SPF-запись
SPF-запись для домена: синтаксис, шаблоны для Яндекс 360, VK WorkSpace, Google и Microsoft 365, лимит 10 DNS-запросов и частые ошибки. Скопируйте шаблон.
SPF (Sender Policy Framework) — TXT-запись в DNS домена со списком серверов, которым разрешено отправлять почту от его имени. Сервер получателя сверяет IP отправителя с этим списком и решает, доверять ли письму. Без SPF Gmail и Mail.ru чаще отправляют письма в спам, а мошенники могут слать почту от вашего имени.
Ниже — готовые SPF-записи для Яндекс 360, VK WorkSpace, Google Workspace и Microsoft 365, а также список ошибок, из-за которых SPF молча ломается.
Коротко: SPF в цифрах
| Факт | Значение | Источник |
|---|---|---|
| Стандарт | RFC 7208, 2014 | IETF |
| Максимум DNS-запросов при проверке | 10, иначе результат permerror | RFC 7208, раздел 4.6.4 |
| Максимум «пустых» DNS-ответов | 2 | RFC 7208, раздел 4.6.4 |
| SPF-записей на один домен | строго одна | RFC 7208 |
| Требование Gmail ко всем отправителям | SPF или DKIM; от 5 000 писем в день — SPF, DKIM и DMARC | Google, 2024 |
| Требование Mail.ru | SPF, DKIM и DMARC должны проходить проверку | Mail.ru |
Как работает SPF-запись
Проверка занимает доли секунды и идёт в четыре шага:
- Ваш сервер отправляет письмо с адресом отправителя на домене company.ru.
- Сервер получателя запрашивает TXT-запись company.ru, которая начинается с v=spf1.
- Сравнивает IP отправителя со списком разрешённых серверов.
- Записывает результат в заголовок письма: pass, fail, softfail, neutral или permerror.
Важно: SPF проверяет технический адрес отправителя (Return-Path), а не адрес в поле «От», который видит человек. Связь между ними обеспечивает DMARC. Поэтому одного SPF недостаточно: нужны ещё DKIM и DMARC.
Из чего состоит SPF-запись
Запись — это строка из версии, механизмов и финального правила. Пример: v=spf1 include:_spf.google.com ip4:203.0.113.10 ~all.
| Элемент | Что означает | Тратит DNS-запрос |
|---|---|---|
v=spf1 | Версия, всегда в начале | Нет |
ip4: / ip6: | Конкретный IP или подсеть | Нет |
a | IP из A-записи домена | Да |
mx | Серверы из MX-записей домена | Да |
include: | Серверы из SPF другого домена (почтового сервиса) | Да, плюс вложенные |
redirect = | Полностью использовать SPF другого домена | Да |
-all | Все остальные серверы — отклонять (fail) | Нет |
~all | Все остальные — подозрительны (softfail) | Нет |
?all / +all | Нейтрально / разрешить всем | Нет |
+all не используйте никогда: это разрешение любому серверу в интернете отправлять письма от вашего имени.
~all или -all: что выбрать
Начинайте с ~all, переходите на -all, когда уверены, что в записи перечислены все сервисы, которые отправляют почту с домена.
~allбезопаснее: если вы забыли CRM или сервис рассылок, их письма попадут под подозрение, но не будут отклонены сразу.-allстроже и лучше защищает от подделки, но любая забытая система перестанет доставлять письма.
Для доменов холодных рассылок, где почту отправляет только один провайдер, можно сразу ставить строгое правило.
Как настроить SPF за 10 минут
- Составьте список отправителей. Почтовый сервис, CRM, сервис рассылок, сайт с формами — всё, что шлёт письма от вашего домена.
- Проверьте, нет ли уже SPF. В панели DNS найдите TXT-запись, начинающуюся с v=spf1. Если есть — редактируйте её, а не добавляйте вторую.
- Соберите запись из шаблонов ниже: один
v=spf1, всеinclude:и одно финальное правило~allили-all. - Добавьте TXT-запись для корня домена (хост
@) у регистратора или DNS-провайдера. - Подождите обновления DNS — обычно от нескольких минут до нескольких часов, в зависимости от TTL.
- Проверьте результат: отправьте письмо на Gmail и в «Показать оригинал» найдите
SPF: PASS.
В Holymailer этот шаг не нужен: SPF, DKIM, DMARC и MX настраиваются автоматически при регистрации или делегировании домена и проверяются ежедневно.
Готовые SPF-записи для популярных почтовых сервисов
Скопируйте строку для своего сервиса и сверьте с актуальной справкой провайдера перед публикацией в DNS.
| Сервис | TXT-запись для хоста @ |
|---|---|
| Яндекс 360 | v=spf1 redirect=_spf.yandex.net |
| VK WorkSpace (Mail.ru) | v=spf1 redirect=_spf.mail.ru |
| Google Workspace | v=spf1 include:_spf.google.com ~all |
| Microsoft 365 | v=spf1 include:spf.protection.outlook.com -all |
| Google Workspace + сервис рассылок | v=spf1 include:_spf.google.com include:[домен из справки сервиса] ~all |
| Яндекс 360 + свой сервер | v=spf1 include:_spf.yandex.net ip4:[IP сервера] ~all |
| Домен, с которого почта не отправляется | v=spf1 -all |
redirect= подходит, только если почту отправляет один сервис. Если их несколько, замените его на include: и добавьте в конец ~all.
7 ошибок, из-за которых SPF не работает
| Ошибка | Что происходит | Как исправить |
|---|---|---|
| Две SPF-записи на одном домене | Проверка даёт permerror | Объединить в одну строку |
| Больше 10 DNS-запросов | permerror, SPF считается непройденным | Убрать неиспользуемые include, заменить a и mx на ip4 |
| Забыли сервис рассылок или CRM | Их письма получают softfail или fail | Добавить include из справки сервиса |
+all в конце | Писать от вашего имени может любой | Заменить на ~all или -all |
| Запись на не том хосте | Результат none | Добавить для @ или нужного поддомена |
| Рассылка с поддомена без своей записи | SPF не наследуется поддоменами | Создать SPF для каждого поддомена-отправителя |
| Опечатки: пробел после двоеточия, два all, кавычки внутри | permerror | Проверить запись валидатором SPF |
Как проверить SPF-запись
Есть три способа, от простого к техническому:
- Заголовки письма. В Gmail откройте «Показать оригинал». Строка
SPF: PASSозначает, что всё в порядке. Mail.ru описывает ту же проверку в справке для разработчиков. - Команда в терминале.
nslookup -type=txt company.ruилиdig TXT company.ru +shortпокажут опубликованную запись. - Онлайн-валидатор SPF. Посчитает DNS-запросы и найдёт синтаксические ошибки.
Часто задаваемые вопросы
Что такое SPF-запись простыми словами?
Это список серверов, которым разрешено отправлять письма от вашего домена. Он хранится в DNS в виде TXT-записи, и почтовые сервисы сверяются с ним при каждом входящем письме.
Можно ли сделать две SPF-записи для одного домена?
Нет. RFC 7208 запрещает несколько SPF-записей на одном домене, и проверка вернёт ошибку. Все сервисы объединяют в одну строку через include.
Что выбрать: ~all или -all?
~all — если не уверены, что учли всех отправителей. -all — когда список точно полный, например на отдельном домене для рассылок с одним провайдером.
Сколько времени применяется SPF-запись?
Обычно от нескольких минут до нескольких часов. Срок зависит от TTL записи и DNS-провайдера.
Нужен ли SPF, если уже настроен DKIM?
Да. Gmail требует и SPF, и DKIM от отправителей с объёмом от 5 000 писем в день, а Mail.ru ждёт прохождения SPF, DKIM и DMARC от всех рассылок. Механизмы дополняют друг друга.
Что значит SPF softfail в заголовках?
Письмо отправлено с сервера, которого нет в записи, а запись заканчивается на ~all. Добавьте этот сервис через include или ip4.
Источники
- RFC 7208: Sender Policy Framework — стандарт SPF, 2014.
- Google: Email sender guidelines — действуют с 1 февраля 2024.
- Mail.ru: технические требования к рассылкам.
- Mail.ru: как проверить SPF, DKIM, DMARC в письме.
- Holymailer: возможности.
Разметка JSON-LD
{ "@context": "https://schema.org", "@graph": [ { "@type": "Article", "headline": "SPF-запись: как настроить за 10 минут + готовые шаблоны", "author": {"@type": "Person", "name": "[Имя автора]", "jobTitle": "[Должность]"}, "datePublished": "2026-09-30", "dateModified": "2026-09-30", "publisher": {"@type": "Organization", "name": "Holymailer", "url": "https://holymailer.com"} }, { "@type": "HowTo", "name": "Как настроить SPF за 10 минут", "step": [ {"@type": "HowToStep", "text": "Составьте список всех сервисов, которые отправляют письма от вашего домена."}, {"@type": "HowToStep", "text": "Проверьте, нет ли уже TXT-записи с v=spf1."}, {"@type": "HowToStep", "text": "Соберите одну запись: v=spf1, все include и финальное правило ~all или -all."}, {"@type": "HowToStep", "text": "Добавьте TXT-запись для хоста @ у DNS-провайдера."}, {"@type": "HowToStep", "text": "Дождитесь обновления DNS."}, {"@type": "HowToStep", "text": "Отправьте тестовое письмо на Gmail и проверьте SPF: PASS в оригинале письма."} ] }, { "@type": "FAQPage", "mainEntity": [ {"@type": "Question", "name": "Что такое SPF-запись простыми словами?", "acceptedAnswer": {"@type": "Answer", "text": "Это список серверов, которым разрешено отправлять письма от вашего домена. Он хранится в DNS в виде TXT-записи."}}, {"@type": "Question", "name": "Можно ли сделать две SPF-записи для одного домена?", "acceptedAnswer": {"@type": "Answer", "text": "Нет. RFC 7208 запрещает несколько SPF-записей на одном домене. Все сервисы объединяют в одну строку через include."}}, {"@type": "Question", "name": "Что выбрать: ~all или -all?", "acceptedAnswer": {"@type": "Answer", "text": "~all — если не уверены, что учли всех отправителей. -all — когда список точно полный."}}, {"@type": "Question", "name": "Сколько времени применяется SPF-запись?", "acceptedAnswer": {"@type": "Answer", "text": "Обычно от нескольких минут до нескольких часов, в зависимости от TTL записи и DNS-провайдера."}}, {"@type": "Question", "name": "Нужен ли SPF, если уже настроен DKIM?", "acceptedAnswer": {"@type": "Answer", "text": "Да. Gmail требует и SPF, и DKIM от отправителей с объёмом от 5 000 писем в день, а Mail.ru ждёт прохождения SPF, DKIM и DMARC от всех рассылок."}}, {"@type": "Question", "name": "Что значит SPF softfail в заголовках?", "acceptedAnswer": {"@type": "Answer", "text": "Письмо отправлено с сервера, которого нет в записи, а запись заканчивается на ~all. Добавьте этот сервис через include или ip4."}} ] } ] }