Генератор SPF-записи
Выберите сервисы, которые отправляют вашу почту, и получите одну SPF-запись; DNS-запросы, которых она стоит получателям, считаются вживую, пока вы её собираете.
Загружает запись SPF вашего домена в форму вместе с отправителями. Или выберите отправителей ниже: запись обновляется по ходу.
Всё собирается в вашем браузере. Наружу уходят только DNS-запросы по HTTPS к резолверу Cloudflare (Google — для второго мнения).
Пример записи для example.com
Введите домен выше, чтобы начать с того, что он публикует сейчас, или измените что угодно ниже. Запись справа обновляется по ходу.
Серверы вне списка помечаются как подозрительные, но не отклоняются. Если DMARC в режиме quarantine или reject, DMARC решает по DKIM. M3AAWG рекомендует ~all.
Что получатели тратят на эту запись
/ 10 запросов использовано
110
DNS-запрос пустой
Считаем include…
Куда уходят запросы
Перед публикацией
Одна запись, в которой нет ничего, что получатели пропустят или поймут неверно.
Куда это вставить?
Выберите свой DNS-хостинг: поля ниже написаны так, как их ждёт его форма.
example.com. 3600 IN TXT "v=spf1 include:_spf.google.com ~all"
После публикации
Как создать SPF-запись?
Перечислите все сервисы, которые отправляют почту от имени вашего домена, поместите их термы include: и адреса ваших собственных серверов в одну TXT-запись у домена и закончите её на ~all.
Ставьте дешёвые термы первыми: IP-адреса не стоят DNS-запросов, a и mx стоят по одному, include стоит один плюс всё, что внутри него.
Затем считайте: получатели останавливаются на 10 DNS-запросах. Генератор проходит каждый include вживую, поэтому счёт — тот, который увидят получатели.
ip4:192.0.2.250 запросовinclude:_spf.google.com1 запросinclude:spf.mailjet.com1 запрос~all0 запросов
Счёт, до которого дойдут получателиКаждый include пройден вживую из вашего браузера, вложенные тоже, ровно как считает получатель.Одна ячейка на запросОкрашена в цвет отправителя, который её тратит; после 10 ячейки заштрихованы: постоянная ошибка.Куда уходят запросыКаждый терм с пометкой, вложенными include и ценой.Кто тратит больше всехСверх 10 — самые затратные и честные пути назад, включая подвох «разворачивания».Отправители, которые живут в другом местеСервисы, чей SPF относится к поддомену или вовсе ни к чему, говорят, куда он относится.Что входит в SPF-запись?
Механизмы, которые называют, кому можно отправлять (ip4, ip6, a, mx, include, exists), и одно окончание, all или redirect, у каждого свой квалификатор; каждый терм, который обращается к DNS, стоит один из 10 запросов.
Квалификатор говорит, что значит совпадение: + pass (по умолчанию), - fail, ~ softfail, ? neutral. Получатели читают слева направо и останавливаются на первом совпадении.
ptr устарел и медленный: не используйте его.
| Терм | Пример | DNS-запросы | Для чего |
|---|---|---|---|
| ip4 | ip4:192.0.2.0/24 | 0 | Ваши собственные серверы IPv4 |
| ip6 | ip6:2001:db8::/32 | 0 | Ваши собственные серверы IPv6 |
| a | a | 1 | Собственный адрес домена |
| mx | mx | 1 + до 10 имён | Входящие серверы, которые тоже отправляют |
| include | include:_spf.google.com | 1 + свои | Запись сервиса |
| exists | exists:%{i}._spf.example.com | 1 | Проверки по адресу (макросы) |
| redirect | redirect=_spf.example.com | 1 | Использовать запись другого домена целиком |
| all | ~all | 0 | Всё остальное (окончание) |
+pass-fail~softfail?neutralSPF-записи для Google Workspace, Microsoft 365 и других
Для Google Workspace это include:_spf.google.com, для Microsoft 365 — include:spf.protection.outlook.com; большинство сервисов публикуют один терм include:, а некоторым в вашей записи вообще ничего не нужно.
Каждая цена ниже измерена на живой записи сервиса и включает всё вложенное в неё: именно столько тратит получатель.
Сервисы с пометкой «не здесь» отправляют со своим обратным адресом или с вашего поддомена, поэтому их SPF живёт там.
| Сервис | Добавить в запись | Запросы | Где |
|---|---|---|---|
| Google Workspace | include:_spf.google.com | 1 | ваша запись |
| Microsoft 365 | include:spf.protection.outlook.com | 1 | ваша запись |
| Zoho Mail | include:zohomail.com | 2 | ваша запись |
| Amazon SES | include:amazonses.com | 1 | поддомен |
| SendGrid | include:sendgrid.net | 2 | поддомен |
| Mailgun | include:mailgun.org | 5 | поддомен |
| Mailchimp | — | — | добавлять нечего |
| Brevo | — | 1 | добавлять нечего |
| HubSpot | include:<HubID>.spf0N.hubspotemail.net | — | ваша запись |
| Salesforce | include:_spf.salesforce.com | 2 | ваша запись |
| Zendesk | include:mail.zendesk.com | 1 | ваша запись |
| Freshdesk | include:email.freshdesk.com | 7 | ваша запись |
| Postmark | — | 1 | добавлять нечего |
| Mimecast (global) | include:_netblocks.mimecast.com | 9 | ваша запись |
| Proton Mail | include:_spf.protonmail.ch | 2 | ваша запись |
| Fastmail | include:spf.messagingengine.com | 1 | ваша запись |
Что такое предел SPF в 10 запросов?
Получатели останавливаются после 10 термов, которые обращаются к DNS, включая вложенные include, и тогда SPF не проходит с постоянной ошибкой для каждого письма; третий запрос, вернувшийся пустым, тоже приводит к ошибке (RFC 7208).
Вернуться в предел можно, перенеся отправителя на поддомен с собственной записью, убрав a или mx, если эти серверы не отправляют почту, или попросив у поставщика более узкий include.
«Разворачивание», замена include его IP-адресами, экономит запросы, но устаревает в день, когда поставщик меняет адреса: проверяйте её каждый месяц.
12 / 10 · постоянная ошибка
mx1include:spf.protection.outlook.com1include:email.freshdesk.com7include:_spf.salesforce.com2include:mail.zendesk.com1Чем заканчивать SPF: ~all или -all?
Используйте ~all для домена, который отправляет почту, и -all для домена, который не отправляет: при DMARC в режиме применения DMARC решает по DKIM, а -all может привести к отклонению пересланной почты до того, как сработает DMARC.
M3AAWG рекомендует ~all для отправляющих доменов и -all для доменов без почты. Google описывает ~all для Workspace; Microsoft описывает -all для Microsoft 365.
~allsoftfailПринимается с пометкой «подозрительно»; DMARC решает вместе с DKIM-allfailМожет быть сразу отклонено, даже если DKIM проходит?allneutralКак будто SPF у вас нетКаким отправителям не нужно быть в вашей записи SPF?
Сервисы, которые отправляют со своим обратным адресом, такие как Mailchimp, Postmark, SparkPost, Klaviyo и Shopify, проходят SPF на своём домене; Amazon SES, SendGrid и Mailgun относятся к поддомену отправки на вашем домене.
SPF проверяет адрес отправителя в конверте (Return-Path), а не адрес From, который видят люди. Для DMARC эти сервисы выравниваются через DKIM, поэтому публикуйте вместо этого их записи DKIM.
From: news@example.comReturn-Path: bounce@esp.example.netЗдесь добавлять нечего
На вашем поддомене
Может ли у домена быть две SPF-записи?
Нет: если по одному имени две записи v=spf1, получатели останавливаются с постоянной ошибкой и SPF не проходит, поэтому объедините их в одну запись.
Сохраните всех отправителей из обеих, одно окончание и пересчитайте запросы объединённой записи: две записи, каждая из которых укладывается в предел, вместе могут превысить 10.
v=spf1 include:_spf.google.com ~allv=spf1 include:spf.protection.outlook.com -allОдна записьv=spf1 include:_spf.google.com include:spf.protection.outlook.com ~allКак длинные SPF-записи работают с DNS-хостингами?
Строка TXT вмещает 255 байт; более длинные записи разбиваются на несколько строк, которые получатели склеивают без промежутков, и большинство DNS-хостингов разбивают их за вас.
Cloudflare и Azure принимают значение целиком в одном поле; Route 53 и Google Cloud DNS хотят строки по 255 байт в кавычках. RFC 7208 просит держать весь ответ меньше 450 байт.
v=spf1 ip4:198.51.100.1 ip4:198.51.100.2 ip4:198.51.100.3 ip4:198.51.100.4 ip4:198.51.100.5 ip4:198.51.100.6 ip4:198.51.100.7 ip4:198.51.100.8 ip4:198.51.100.9 ip4:198.51.100.10 ip4:198.51.100.11 ip4:198.51.100.12 ip4:203.0.113.20 ip4:203.0.113.21 ip4:203.0.113.22 ip4:203.0.113.23 ip4:203.0.113.24 include:_spf.google.com ~allexample.com. 3600 IN TXT ( "v=spf1 ip4:198.51.100.1 ip4:198.51.100.2 ip4:198.51.100.3 ip4:198.51.100.4 ip4:198.51.100.5 ip4:198.51.100.6 ip4:198.51.100.7 ip4:198.51.100.8 ip4:198.51.100.9 ip4:198.51.100.10 ip4:198.51.100.11 ip4:198.51.100.12 ip4:203.0.113.20 ip4:203.0.113.21 ip4:203" ".0.113.22 ip4:203.0.113.23 ip4:203.0.113.24 include:_spf.google.com ~all" )
Генератор SPF-записи: частые вопросы
Что такое SPF-запись?
Какая SPF-запись у Google Workspace?
Какая SPF-запись у Microsoft 365?
Можно ли иметь две SPF-записи?
Что будет, если в SPF-записи больше 10 запросов?
Использовать ~all или -all?
Нужна ли поддоменам своя SPF-запись?
Куда добавить SPF-запись?
Что такое «разворачивание» SPF и стоит ли его использовать?
Бесплатен ли генератор SPF и уходит ли что-нибудь на ваш сервер?
Чего-то не хватает?Предложите функцию или новый инструмент
Связанные инструменты
Генератор DMARC-записи
Создайте DMARC-запись по RFC 9989, начав с той, что вы публикуете сейчас, и увидьте, что получатели сделают с письмами, не прошедшими проверку.
Генератор DKIM-записи
Создание пары ключей DKIM прямо в браузере и TXT-записи selector._domainkey для публикации
Проверка SPF записи
Проверка записей SPF и подсчёт DNS запросов по RFC 7208
Проверка DMARC
Проверка политики DMARC и настроек выравнивания для любого домена
Проверка DKIM
Проверка записей DKIM с автоматическим определением селектора
MX Поиск
Поиск записей mail exchange и данных почтового сервера
Анализ заголовков Email
Разбор необработанных заголовков email и отслеживание пути письма
Проверка BIMI-записи
Проверка записей BIMI, логотипов SVG Tiny PS и сертификатов VMC, и где виден логотип





