Проверьте запись SPF, раскройте каждый include и посчитайте DNS-запросы относительно лимита в 10
Runs in your browser. Only the lookup you start is sent to cloudflare-dns.com or dns.google; nothing else leaves your device.Проверка SPF читает TXT-запись, где перечислены серверы, которым разрешено отправлять почту домена, проходит по каждому include и redirect и считает DNS-запросы. RFC 7208 допускает не более 10 запросов и 2 пустых; запись, превышающая любой из лимитов, не проходит ни у одного получателя, как бы правильно она ни выглядела.
Эта страница переведена машинным способом с английского оригинала. Перевод ещё не проверен человеком, поэтому ориентируйтесь на английскую версию. Читать английский оригинал
Введите домен, например example.com, в поле «Домен».
Нажмите «Проверить SPF», чтобы прочитать запись и пройти по каждому include.
Посмотрите под вердиктом, сколько DNS-запросов из 10 использовано и чем заканчивается запись.
Прочитайте раздел «Раскрыто, каждый запрос пронумерован», чтобы увидеть, какой include добавляет больше всего запросов.
Нажмите «Копировать дерево», чтобы сохранить раскрытую запись.
Введите домен, и страница запросит у публичного резолвера DNS-over-HTTPS (Cloudflare или Google, на ваш выбор) его TXT-записи, выберет ту, что начинается с v=spf1, и прочитает её терм за термом. Страница проходит по каждому include: и redirect= и так же читает записи, на которые они указывают, так что всё дерево разрешённых сетей умещается на одном экране.
Главное — число DNS-запросов. Раздел 4.6.4 RFC 7208 ограничивает проверку 10 термами, которым нужен DNS: include, a, mx, ptr, exists и redirect считаются по одному, где бы они ни стояли в дереве, а ip4, ip6 и all не считаются вовсе. Каждый учтённый терм пронумерован в дереве, поэтому при превышении видно, какой include его вызвал. Запросы, которые ничего не находят, — пустые (void) запросы — ограничены 2, а имя, которого больше нет, отмечено как void.
Вердикт перечисляет, что на самом деле сделают получатели: две записи SPF под одним именем — постоянная ошибка, +all позволяет кому угодно отправлять почту от имени домена, ?all или отсутствие all не даёт ответа для неперечисленных серверов, ptr не рекомендуется, а термы после all никогда не читаются. ~all просит получателей помечать почту с неперечисленных серверов; -all — отклонять её. Каждая строка ссылается на раздел RFC 7208, из которого она взята.
Чего она не делает: она проверяет запись, а не письмо. Термы с макросами вроде %{i} заполняются из адреса отправителя каждого письма, поэтому они учитываются, но не запрашиваются. Она не может сказать, покрыт ли адрес конкретного сервера, если этого адреса нет в записи.
Вкладка генератора составляет запись по вашему выбору, с include для Google Workspace и Microsoft 365, которые указывают эти провайдеры, и показывает, сколько запросов она тратит до запросов самих провайдеров.
Введённый домен отправляется выбранному вами резолверу, потому что без него запрос невозможен. Больше ничего не покидает ваше устройство.
RFC 7208 позволяет получателю сделать не более 10 DNS-запросов при проверке одной записи SPF, учитывая каждый include, a, mx, ptr, exists и redirect во всём дереве. Сверх 10 результат — постоянная ошибка, и SPF не проходит ни для одного письма, даже с серверов, перечисленных в записи.
Оба варианта допустимы. Запись с -all просит получателей отклонять почту с неперечисленных серверов; ~all просит принимать её, но помечать как подозрительную. Многие домены начинают с ~all, пока находят всех отправителей, а затем переходят на -all. Окончание +all или отсутствие all не даёт никакой защиты.
Нет. RFC 7208 требует, чтобы домен публиковал ровно одну TXT-запись, начинающуюся с v=spf1. При двух получатели не могут выбрать и возвращают постоянную ошибку, так что SPF не проходит для всей почты. Объедините их в одну запись, сохранив все include и адреса из обеих.
Терм ip4 или ip6 уже содержит диапазон адресов, поэтому для его проверки DNS-запрос не нужен. Include, a, mx, exists, ptr и redirect требуют хотя бы одного запроса, чтобы узнать, что за ними стоит. Замена стабильного include его диапазонами адресов — обычный способ уложиться в 10.
Да, доменное имя уходит выбранному вами публичному DNS-резолверу, Cloudflare или Google, потому что DNS-запросу оно нужно. Резолвер видит запрошенные имена и ваш IP-адрес, как при любом DNS-запросе. Больше ничего не покидает ваше устройство, и этот сайт ничего не хранит о проверке.
Пустой запрос — это DNS-запрос, который ничего не нашёл: имени не существует или оно есть, но без записи запрошенного типа. RFC 7208 просит получателей допускать не более 2 таких запросов, потому что запись, полная мёртвых имён, — распространённая атака на получателей. Удалите имена, которых больше нет.
Всё ещё не получается? Задайте вопрос об инструменте «Проверка SPF» и ответить может любой, кто знает. Учётная запись не нужна.