Pereiti prie turinio

SPF tikrintuvas:
ar jūsų įrašas telpa į 10 užklausų ribą?

Įveskite domeną — nuskaitome jo TXT įrašus, atrenkame v=spf1, rekursyviai išskleidžiame kiekvieną include ir suskaičiuojame DNS užklausas pagal SPF ribą — 10. Ją viršijus SPF tyliai grąžina permerror — apsauga išjungta, jokio atmetimo, jokio įspėjimo.

Kiekvienas include išskleistas rekursyviai Kiekviena DNS užklausa įskaičiuota į 10 Išvada per kelias sekundes
Papildomai realų DNS kelią patikrina mūsų sistema — įvertinama serverio pusėje pagal RFC 7208 papildomas IP testas — pass / softfail / fail jūsų siuntėjui JSON API — nuskaitykite paskutinį kiekvieno domeno rezultatą
Ką praleidžia SPF patikra, kuriai pakanka “įrašas rastas”

Keturi būdai, kaip SPF sugenda be jokio įspėjimo

Sugedus SPF laiškai vis tiek išeina — gavėjų serveriai tiesiog nustoja jį tikrinti. Nė vieno iš šių keturių atvejų savo išsiųstųjų aplanke nepamatysite — o pilnoje analizėje jie akivaizdūs.

10 užklausų riba

Kiekvienas include, a, mx kainuoja vieną DNS užklausą — įdėtiniai include taip pat. Riba yra 10. 11-oji užklausa nieko nesugadina palaipsniui: visas įrašas grąžina permerror ir SPF nebeveikia.

RFC 7208 §4.6.4

Antras įrašas

Du TXT įrašai, prasidedantys v=spf1, nesusilieja — abu iškart tampa negaliojantys. Klasikinė priežastis: papildinys arba agentūra SPF “pridėjo”, o ne suredagavo jau buvusį įrašą.

keli įrašai = permerror

+all leidžia siųsti visiems

+all reiškia “ir visi kiti taip pat praeina”. Jis suteikia teisę siųsti jūsų vardu visam internetui — kartu ir kiekvienam šlamštininkui. Nuo -all, kuris reiškia priešingai, jį skiria vienas simbolis.

blogiau nei jokio įrašo

Užsilikęs include

Tiekėjas, kurio atsisakėte 2023 m., vis dar yra jūsų įraše. Jei jo domenas nebeatsako, tai tuščios užklausos ir permerror. Jei gyvas, dabartiniai jo klientai gali siųsti laiškus, kurie praeina kaip jūsų.

peržiūrėkite kasmet
Išvados

-all, ~all, ?all ir ypatingi atvejai

Paskutinis mechanizmas nulemia, kas nutinka laiškui iš IP, kurio nesurašėte. Likusią dalį nulemia keli ypatingi atvejai.

-all · hardfail

“Nėra mano sąraše? Atmeskite.” Griežta, teisinga pabaiga — jeigu prieš ją esantis sąrašas pilnas ir įrašas išanalizuojamas be klaidų. Griežtumas turi prasmę tik tada, kai visa kita tvarkoje.

→ tikslas — kai įrašas be klaidų
~all · softfail

“Nėra mano sąraše? Priimkite, bet pažymėkite.” Sugalvota kaip diegimo etapas, paliekama amžiams. Kartu su DMARC neleistas laiškas vis tiek nepraeina — be DMARC tai tik žyma, kurios gavėjas gali ir nepaisyti.

→ tinka diegimo metu · derinkite su DMARC
?all · neutral

“Nėra mano sąraše? Neturiu nuomonės.” Rezultatas toks pat, kaip SPF išvis nepaskelbus — gavėjų serveriai nesužino nieko. Dažniausiai tai likutis iš nukopijuoto šablono.

→ apsispręskite — bent jau ~all
+all · praleidžiami visi

“Nėra mano sąraše? Vis tiek praeina.” Dabar visas internetas turi teisę siųsti jūsų domeno vardu — o laiškas, kuris turėtų atrodyti suklastotas, vietoj to gauna SPF pass.

→ pašalinkite šiandien — blogesnės būsenos nėra
ptr · nebenaudotinas

Atvirkštinio DNS atitikimas: lėtas, nepatikimas ir nuo 2014 m. oficialiai “SHOULD NOT be used”. Jis sudegina užklausą, gali tyliai nesutapti, o dalis gavėjų serverių jį praleidžia visai.

→ pakeiskite į ip4/ip6 arba include
permerror · galiojančio SPF nėra

Per daug užklausų, du įrašai, sintaksės klaida, negyvas include — rezultatas tas pats: gavėjų serveriams jūsų domenas neturi galiojančio SPF. Laiškai vis tiek eina. Niekas jums nepraneša.

→ raskite kaltą mechanizmą — parodome visą analizę
Kaip veikia užklausų riba

Kaip veikia 10 užklausų riba

RFC 7208 riboja, kiek DNS užklausų gavėjo serveris išleis jūsų įrašui įvertinti. Būtent ta riba viską ir lemia — o didžiąją jos dalį suvartoja svetimi įrašai:

  • Kas eikvoja ribą: include, a, mx, ptr, exists, redirect — po vieną kiekvienam, įskaitant įdėtinius.
  • Kas nemokama: ip4, ip6 ir all — tai tiesioginės reikšmės, DNS nereikia. Todėl ir veikia įrašo “suplokštinimas”.
  • Vienas include retai kada yra viena užklausa: Mailgun kainuoja 5, Salesforce — 2. Įrašas, kuriame “tėra penki include”, gali būti pasiekęs 11, niekam prie jo net neprisilietus.
  • Tuščiai gali grįžti tik dvi užklausos — tokia yra tuščių užklausų riba. Negyvi include ir rašybos klaidos ją sudegina greitai, o rezultatas tas pats permerror.

Kur išeina užklausos

pagal tiekėją · patikrinta 2026 m. liepą
Mailgun · 5include:mailgun.org viduje slepia JAV ir ES blokus — o JAV blokas turi dar du. Pusė jūsų ribos vienam tiekėjui.
Salesforce · 2Include, apgaubiantis kiekvienam siuntėjui atskirą exists: makrokomandą — dvi užklausos kaskart, ir suplokštinti jos neįmanoma.
Microsoft 365 · 1Plokščias — visi diapazonai surašyti tiesiogiai už vieno include. Būtent taip atrodo padorus tiekėjo įrašas.
Google Workspace · 1Anksčiau Google turėjo tris įdėtinius tinklų include — dabar _spf.google.com suplokštintas iki tiesioginių ip4/ip6 diapazonų. Tokio masto tiekėjas neeikvoja užklausų, kurių gali išvengti.
nereikalingi a + mx · 2Jei jūsų žiniatinklio serveris ir MX niekada nesiunčia laiškų, tai dvi užklausos už nieką — ir jos yra kiekviename šablone.
ptr · 1 iššvaistytaNebenaudotinas, nepatikimas, o užklausą vis tiek kainuoja. Pigiausias pataisymas šiame sąraše.
Praktinė taisyklė: ties 8 užklausomis peržiūrėkite, ties 9 vieną išmeskite. Nauji įrankiai prijungiami niekam neskaičiuojant ribos.
Tiems, kas dirba terminale

Ką galite patikrinti patys

Vienas dig grąžina jūsų įrašą. Lėtoji dalis — rankomis išskleisti kiekvieną įdėtinį include.

Pamatyti visus domeno TXT įrašusdig +short TXT example.com
Atrinkti SPF įrašą (turi būti lygiai vienas)dig +short TXT example.com | grep -c spf1
Rankomis atverti vieną includedig +short TXT mailgun.org
…ir jame įdėtus includedig +short TXT _spf.mailgun.org
Rekursyviai pereiti visą medį, suskaičiuoti kiekvieną užklausą, sudėti diapazonus# tam vienos eilutės komandos nėra — riba slepiasi įdėtiniuose include. ↑ tam ir yra šis įrankis
DUK

Dažni klausimai apie SPF

Įveskite savo domeną viršuje. Nuskaitome jo TXT įrašus, patikriname, ar lygiai vienas prasideda v=spf1 (du — iškart klaida: jie nesusilieja, o žūva abu), tada išnagrinėjame kiekvieną mechanizmą pagal RFC 7208: kiekvienas include rekursyviai išskleidžiamas į medį, kiekviena DNS užklausa įskaičiuojama į 10, įvertinama galutinė all politika, o visi jūsų įrašo leidžiami IP diapazonai sudedami į vieną sąrašą. Nemokamai, be registracijos.

Tikrindamas SPF gavėjo serveris įvertins daugiausia 10 DNS užklausas atliekančių mechanizmų (RFC 7208 §4.6.4). Skaičiuojami include, a, mx, ptr, exists ir redirect, taip pat ir tie, kurie slepiasi jūsų tiekėjų include viduje. Ties 11-ąja užklausa vertinimas nutrūksta su permerror. Jūsų pusėje nė vienas laiškas negrįžta atgal; DMARC tiesiog laiko, kad jūsų domenas SPF neskelbia. Lūžis ateina pamažu, po vieną naują įrankį, ir niekada apie save nepraneša.

-all yra tikslas: atmesti tai, kas ne jūsų. ~all yra kelias į jį: „pažymėkite, bet neatmeskite“. Tai teisingas nustatymas, kol vis dar atrandate siuntėjus — tą sąskaitų programą, apie kurią niekas neužsiminė. Jis saugesnis ir tada, kai prarastas tikras laiškas kainuoja daugiau nei praleistas suklastotas. Dvi išlygos: įdiegus DMARC praktinis skirtumas sumažėja, nes DMARC neleisto laiško nepraleidžia abiem atvejais. O jei -all patenka į įrašo, viršijusio ribą, galą — tai griežtumas, prisegtas prie lavono: vis tiek laimi permerror.

Ne — ir šis gedimas ypač negailestingas. RFC 7208 nurodo, kad keli v=spf1 įrašai priverčia patikrą grąžinti permerror: ne „laimi pirmasis“, ne „jie susilieja“ — abu tampa negaliojantys. Dažniausiai taip nutinka netyčia: svetainės papildinys, laiškų platformos vedlys ar antras administratorius „prideda SPF“, nepastebėjęs jau esančio įrašo. Pataisyti užtenka minutės: sujunkite visus mechanizmus į vieną įrašą, o likusius ištrinkite. Būtent todėl šis įrankis pirmiausia suskaičiuoja jūsų įrašus.

Jis baigia jūsų įrašą žodžiais „…ir visi kiti irgi praeina“. Kiekvienas interneto IP tampa leistinu jūsų domeno siuntėju: jūsų adresą klastojantis šlamštininkas gauna SPF pass, o jei jūsų DMARC politika remiasi SPF suderinimu, toks suklastotas laiškas gali praeiti ir DMARC — jūsų autentikacija dabar laiduoja už užpuoliką. Tai iš tikrųjų blogiau, nei visai neskelbti SPF, nes „jokio įrašo“ atveju gavėjų serveriai budrūs, o „+all“ atveju — visiškai pasitiki. Praktikoje jis atsiranda kaip klaidingai suprastas pristatomumo „pataisymas“. Jei šis įrankis jį ras, apie tai praneš labai aiškiai.

Pati viena — ne. SPF tikrina voko siuntėją (adresą, naudojamą SMTP pokalbyje), o ne From: eilutę, kurią mato skaitytojas. Klastotojas gali praeiti SPF patikrą savo domene, o laiške rodyti jūsų. Šią spragą uždaro DMARC: jis reikalauja, kad matomas From sutaptų su tuo, ką patvirtino SPF ar DKIM, ir nurodo gavėjams, ką daryti, kai nesutampa. Visą sistemą sudaro SPF + DKIM + DMARC, o šis įrankis patikrina, ar tvirtai stovi SPF dalis, nes čia kilęs permerror tyliai pakerta ir kitas dvi.

Nuo lengviausio iki skausmingiausio: išmeskite tai, kas nieko nesiunčia — a ir mx išmetami be jokios rizikos, jei jūsų žiniatinklio serveris ir MX niekada nesiunčia laiškų. ptr pašalinamas visada. Atsisakykite negyvų tiekėjų — kiekvienas include turi atitikti paslaugą, už kurią vis dar mokate. Išskirstykite pagal subdomenus — leiskite naujienlaiškiams siųsti kaip news.yourdomain.com su savo įrašu ir sava riba. Kraštutinė priemonė — suplokštinimas: pakeitus include tiesioginiais ip4/ip6 diapazonais, tai nekainuoja nė vienos užklausos. Bet taip užšaldote tiekėjų tinklų kopiją — jiems persinumeravus jūsų įrašas tyliai pasensta. Plokštinkite tik turėdami įrankį ar stebėjimą, kuris tai reguliariai pertikrina.

Nemokami įrankiai – tik pradžia.
Uptimia rūpinasi jūsų svetainių sveikata.

Veikimo laikas, SSL, domeno galiojimo pabaiga, puslapių greitis, transakcijos – stebima iš 171+ vietos visame pasaulyje. Nemokama 30 dienų.

30 dienų nemokamai kreditinės kortelės nereikia atšaukite bet kada nemokamas planas po bandomojo laikotarpio
Stebima 100 000+ svetainių · Atitinka BDAR