SPF-запись: что это и как настроить

SPF — это список серверов, которым разрешено отправлять почту от имени вашего домена. Он публикуется в DNS обычной TXT-записью, и по нему получатель решает, верить письму или нет.

Как выглядит запись

Запись начинается с v=spf1, дальше идут механизмы, разрешающие отправку, и заканчивается квалификатором all. Например: v=spf1 include:_spf.yandex.net ip4:203.0.113.10 -all — «письма от Яндекс.Почты и с адреса 203.0.113.10 законны, всё остальное отвергать».

Механизмы по порядку

ip4 и ip6 разрешают конкретный адрес или подсеть. a разрешает сервер, на который указывает A-запись домена. mx разрешает почтовые серверы домена. include подключает запись другого домена — так добавляют почтовый сервис, CRM и рассыльщик. all в конце описывает, что делать со всеми остальными.

Три ошибки, которые встречаются чаще всего

Первая — две записи v=spf1 на одном домене, из-за чего проверка падает целиком. Вторая — превышение лимита в десять DNS-запросов при раскрытии вложенных include. Третья — забытый отправитель: домен переходит на -all, а рассылка через сторонний сервис в записи не перечислена, и письма клиентам начинают отвергаться.

После SPF

SPF подтверждает только сервер. Чтобы получатель мог проверить, что письмо не подменили в пути, нужен DKIM, а чтобы задать правило на случай непрохождения проверок — DMARC. Полную картину по домену удобно смотреть в отчёте Deliverability Radar.

Частые вопросы

Через сколько запись начинает действовать?

После публикации TXT-записи нужно дождаться истечения TTL зоны — обычно от нескольких минут до суток. Пока старая запись не истекла, часть получателей будет видеть её.

Нужна ли SPF-запись домену, с которого не отправляют почту?

Да. Для домена без почты публикуют v=spf1 -all — это прямо запрещает отправку от его имени и мешает использовать домен в фишинге.

Можно ли перечислить в SPF все IP через ip4 и обойтись без include?

Технически можно, и это даже экономит DNS-запросы. Но у почтовых сервисов адреса меняются без предупреждения, поэтому include надёжнее: сервис обновляет свою запись сам.