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ą, kuri yra 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 visą gryną DNS pereina mūsų tikrinimo taškas — vertinama serverio pusėje pagal RFC 7208 papildomas IP testas — pass / softfail / fail jūsų siuntėjui JSON API — nuskaitykite paskutinį kiekvieno domeno rezultatą
Ko nepastebi SPF patikra, kuriai užtenka “į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 ko nors vertas 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 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

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žklausą daranč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 apie save nepraneša niekada.

-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 -all užklausų ribą viršijusio įrašo gale — tai griežtumas, prisegtas prie negyvo įrašo: vis tiek laimi permerror.

Ne — ir gedimas žiaurus. RFC 7208 sako, kad keli v=spf1 įrašai verčia patikrą grąžinti permerror: ne „laimi pirmas“, ne „jie susilieja“ — abu tampa negaliojantys. Paprastai tai nutinka nekaltai: svetainės papildinys, laiškų platformos vedlys arba antras administratorius „prideda SPF“, nepastebėjęs jau esančio įrašo. Pataisymas trunka minutę: sujunkite visus mechanizmus į vieną įrašą, likusius ištrinkite. Būtent dėl to šis įrankis pirmiausia suskaičiuoja jūsų įrašus.

Jis užbaigia jūsų įrašą fraze „…ir visi kiti taip pat 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, tas suklastotas laiškas praeis ir DMARC — jūsų autentikacija dabar laiduoja užpuoliką. Tai iš tiesų blogiau, nei neskelbti SPF išvis, nes „jokio įrašo“ gavėjų serverius padaro įtarius, o „+all“ — pasitikinčius. Gyvenime jis pasitaiko kaip klaidingas pristatomumo „pataisymas“. Jei šis įrankis tokį ras, pasakys labai aiškiai.

Vienas — ne. SPF tikrina voko siuntėją (adresą, naudojamą SMTP pokalbyje), o ne From: eilutę, kurią mato skaitytojas. Klastotojas gali praeiti SPF savo domene, o rodyti jūsų. Užkišti šią spragą yra DMARC darbas: jis reikalauja, kad matomas From sutaptų su tuo, ką patikrino SPF arba DKIM. Jis taip pat nurodo gavėjams, ką daryti, kai nesutampa. Visą rinkinį sudaro SPF + DKIM + DMARC, o šis įrankis patikrina, ar tvirtai stovi SPF atrama, nes permerror čia tyliai pakerta ir kitas dvi.

Nuo lengviausio iki skausmingiausio: išmeskite tai, kas nieko nesiunčiaa 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