Skip to content
← Все статьи

SPF «too many DNS lookups»: лимит 10, как исправить

Коротко. Спецификация SPF (RFC 7208) разрешает не более 10 DNS-запросов при вычислении записи. Механизмы include, a, mx, ptr и exists каждый расходуют лимит, а вложенные include — рекурсивно. Превышение даёт результат permerror, и SPF перестаёт проходить. Исправляют сокращением include, заменой на ip4 (флаттенинг) и удалением неиспользуемых сервисов.

Почему есть лимит в 10 запросов

Лимит защищает почтовые серверы от чрезмерной нагрузки и DoS-атак через бесконечно вложенные SPF-записи. Каждый DNS-запрос при проверке стоит времени, поэтому RFC жёстко ограничивает их число десятью.

Что расходует лимит

  • include — каждый плюс все запросы внутри подключённой записи.
  • a и mx — по одному запросу (mx ещё разрешает каждое имя).
  • ptr — расходует лимит и не рекомендуется к использованию.
  • exists — один запрос.
  • ip4 / ip6 и all — НЕ расходуют лимит (это статичные данные).

Как посчитать запросы

# Исходная запись с перебором лимита:
dig +short txt example.com
# "v=spf1 include:_spf.google.com include:sendgrid.net include:mailgun.org
#  include:_spf.mailjet.com include:amazonses.com mx a ~all"

# Каждый include раскрывается рекурсивно:
dig +short txt _spf.google.com
# "v=spf1 include:_netblocks.google.com include:_netblocks2.google.com
#  include:_netblocks3.google.com ~all"

Способы исправить

  1. Уберите лишние сервисы. Каждый бывший рассыльщик в SPF — это потраченные запросы.
  2. Замените include на ip4 (флаттенинг). Подставьте реальные подсети сервиса напрямую; ip4 не считается в лимит.
  3. Не используйте ptr — медленный и расходует лимит.
  4. Используйте поддомены для разных потоков рассылки, разнося нагрузку.
  5. Авто-флаттенинг у SPF-провайдеров — динамически держит запись в пределах лимита.
МеханизмСчитается в лимит?Совет
includeДа (рекурсивно)Минимизируйте число
a / mxДаЗаменяйте на ip4 при возможности
ptrДаНе используйте
ip4 / ip6НетПредпочтительный способ флаттенинга
allНетВсегда завершайте запись
Флаттенинг ускоряет проверку, но фиксирует IP вручную: если провайдер сменит подсети, SPF перестанет проходить. Поэтому пересматривайте флэт-записи периодически.
Лимит 10 — это про вложенные DNS-запросы, а не про число IP. Одна запись ip4:203.0.113.0/24 покрывает 256 адресов и стоит ноль запросов.

Как enterno.io помогает

Инструмент /email-check раскрывает все вложенные include вашей SPF-записи, считает фактическое число DNS-запросов и сразу показывает, превышен ли лимит 10 и какой include виноват. Это экономит часы ручного раскручивания цепочек через dig. enterno диагностирует и подсказывает — флаттенинг и правку TXT в зоне выполняет владелец домена. Бесплатно — 48+ инструментов, DNS-проверка и разбор SPF.

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

Что произойдёт при превышении лимита?

SPF вернёт permerror, и проверка считается непройденной. Это может уронить и DMARC-выравнивание по SPF, ухудшив доставляемость.

Считается ли ip4 в лимит 10?

Нет. ip4 и ip6 — статичные данные без DNS-запроса. Именно поэтому флаттенинг через ip4 решает проблему лимита.

Безопасен ли автоматический флаттенинг?

Он удобен, но создаёт зависимость от провайдера, который обновляет подсети. Следите, чтобы запись регулярно синхронизировалась с актуальными IP.

Проверьте лимит: запустите /email-check и посмотрите фактическое число запросов в SPF. См. также синтаксис SPF и почему письма уходят в спам.

Проверьте ваш сайт прямо сейчас

Проверить DNS своего сайта →
Другие статьи: DNS
DNS
Типы DNS серверов: рекурсивные, авторитативные, root
15.04.2026 · 117 просм.
DNS
DNS Propagation — почему изменения DNS не работают сразу
12.03.2026 · 165 просм.
DNS
Типы DNS записей: A, AAAA, MX, CNAME, TXT и другие
10.03.2025 · 160 просм.
DNS
DNS Failover: автоматическое переключение трафика для высокой доступности
16.03.2026 · 186 просм.