Rast · Srednje

Zašto e-mailovi s Vaše web stranice završavaju u spamu: SPF, DKIM i DMARC objašnjeni

Posjetitelj ispuni Vaš kontaktni obrazac, stranica kaže „poslano”, a ne stigne ništa, ili stigne u mapu neželjene pošte. Web stranica je obično u redu: poslužitelj pošte primatelja jednostavno nema načina da Vaš e-mail razlikuje od krivotvorine. SPF, DKIM i DMARC tri su DNS zapisa koja mu daju taj dokaz.

7 min čitanja

Četvrtasti tamnoplavi poštanski sandučić na ulici ispod stabla.

Fotografija: Nilo Velez, javno dobro (CC0)

U ovom vodiču

Zašto poslužitelj primatelja ne vjeruje Vašoj web stranici

E-mail nema ugrađen dokaz o tome tko je poslao poruku, a svatko može u redak From staviti bilo koju adresu. Poslužitelji primatelja zato traže dokaze da poruka stvarno dolazi s domene za koju to tvrdi, a kad ih ne nađu, odlažu je u spam ili je odbijaju. Pošta s web stranice klasična je žrtva: stvara je web poslužitelj, a ne uobičajeni sustav pošte tvrtke, sa stroja za koji domena nikad nije jamčila.

Dokazi dolaze iz tri DNS zapisa koje objavljuje domena pošiljatelja. SPF kaže koji poslužitelji smiju slati poštu za domenu. DKIM dodaje potpis koji dokazuje da je poruka potpisana ključem koji je domena objavila i da nije mijenjana. DMARC govori primateljima što učiniti kad prva dva ne prođu i traži od njih da šalju izvješća. Poslovni pružatelji e-pošte, uključujući Microsoft 365 i Google Workspace, provjeravaju sva tri i neautentificiranu poštu gledaju sa sumnjom, što god pisalo u sadržaju.

Česti simptomi problema s poštom web stranice i njihov uobičajeni uzrok
Simptom Uobičajeni uzrok Rješenje
Obrazac kaže „poslano”, nigdje ne stiže ništa Pošta usmjerena u lokalni poštanski pretinac na web poslužitelju ili odbačena Provjeriti zapisnik pošte hostinga i usmjeravanje pošte domene
Spam kod jednog pružatelja, pristigla pošta kod drugog Nema SPF-a ni DKIM-a; primatelji primjenjuju vlastite pragove Objaviti SPF i DKIM za domenu pošiljatelja
Radilo mjesecima, stalo nakon promjene DNS-a SPF sada završava s -all i ne sadrži relej Dodati relej u SPF
Poruke odbijene u cijelosti Obrazac šalje „kao” adresa posjetitelja Slati s vlastite adrese stranice, Reply-To posjetitelj
Odbijeno uz poruku o DMARC-u Domena u From ne poravnava se sa SPF-om ni DKIM-om Koristiti From adresu na domeni koju SPF i DKIM pokrivaju

Lanac od domene pošiljatelja do pristigle pošte

Svaka poruka nosi dva identiteta pošiljatelja. Pošiljatelj omotnice adresa je koju poslužitelj pošiljatelja najavljuje tijekom isporuke, i na nju odlaze povratnice. Zaglavlje From ono je što čitatelj vidi. SPF provjerava domenu pošiljatelja omotnice, DKIM potpisuje vlastitom domenom, a DMARC provjerava podudara li se barem jedna od tih domena sa zaglavljem From. To podudaranje zove se poravnanje, i to je korak za koji većina ljudi nikad nije čula.

SPF: koji poslužitelji smiju slati

SPF je TXT zapis na samoj domeni. Navodi IP adrese i uključene pružatelje kojima je dopušteno slati poštu za domenu i završava pravilom za sve ostale: ~all (tretirati kao sumnjivo) ili -all (odbiti). Web stranica koja šalje kroz relej pošte pružatelja hostinga mora imati taj relej u zapisu. Zapis koji završava s -all i zaboravi relej proizvodi tvrdi neuspjeh na svakoj poruci koju stranica pošalje; to se često događa kad se uredska pošta pooštri i nitko ne pomisli na web stranicu.

DKIM: potpis na poruci

DKIM je javni ključ objavljen na selektor._domainkey.example.com. Poslužitelj pošiljatelja potpisuje svaku poruku odgovarajućim privatnim ključem; primatelj dohvaća javni ključ i provjerava potpis. Ako Vaša web stranica šalje kroz servis za e-poštu ili relej hostinga, taj servis daje Vam ključ za objavu i obavlja potpisivanje.

DMARC: politika i izvješća

DMARC je TXT zapis na _dmarc.example.com. Navodi politiku za poruke koje ne prođu ni poravnani SPF ni poravnani DKIM: p=none (isporučiti i izvijestiti), p=quarantine (mapa neželjene pošte) ili p=reject. Navodi i adresu za zbirna izvješća, koja primatelji šalju dnevno. Ta su izvješća jedini način da vidite koji poslužitelji šalju poštu u Vaše ime i prolaze li. Počnite s p=none, nekoliko tjedana čitajte izvješća, popravite svakog legitimnog pošiljatelja koji ne prolazi, a zatim prijeđite na quarantine ili reject.

Zašto slanje „kao posjetitelj” sve kvari

Mnogi dodaci za kontaktne obrasce u redak From stavljaju adresu samog posjetitelja, kako bi čitatelj jednostavno mogao kliknuti odgovori. Takva postavka sada pada na sve tri provjere odjednom: Vaš poslužitelj nije u SPF zapisu posjetiteljeve domene, nema DKIM ključ za tu domenu, a domena u From je posjetiteljeva, pa je poravnanje nemoguće. Ako posjetiteljev pružatelj objavljuje politiku reject ili quarantine, primatelju je rečeno da poruku odbije ili sakrije, i Vi upit nikad ne vidite.

Ispravna postavka jednostavna je:

  1. From adresa: poštanski pretinac na Vašoj vlastitoj domeni, na primjer website@example.com, koji SPF i DKIM pokrivaju.
  2. From ime: ime posjetitelja je u redu, to je samo oznaka.
  3. Reply-To: adresa posjetitelja, kako bi odgovor i dalje stigao pravoj osobi.
  4. Put slanja: autentificirana veza prema Vašem pružatelju e-pošte ili servisu za e-poštu, a ne neautentificirano slanje s web poslužitelja, kako bi poruka bila potpisana i otišla s navedenog poslužitelja.

Provjerite i kamo poruka ide. Ako je adresa primatelja na Vašoj vlastitoj domeni, a Vaši poštanski pretinci su kod drugog pružatelja, hosting račun mora poštu za domenu usmjeravati tom pružatelju. Kad je umjesto toga postavljen na lokalnu isporuku, web poslužitelj predaje poruku poštanskom pretincu na samome sebi, ili ničemu, i nikome ne stiže nikakva pogreška. To nijedan DNS zapis ne popravlja.

Razrađen primjer triju zapisa

Skup u nastavku ilustrativan je i koristi rezerviranu domenu example.com i dokumentacijsku IP adresu. Zamijenite include i ključ vrijednostima koje Vam daje Vaš pružatelj.

Ilustrativni DNS zapisi za domenu čija web stranica šalje kroz relej pošte
Naziv zapisa Vrsta Vrijednost Svrha
example.com TXT v=spf1 include:relay.mailprovider.example ip4:203.0.113.10 -all Dopušta relej i jedan vlastiti poslužitelj, sve ostalo odbija
mail._domainkey.example.com TXT v=DKIM1; k=rsa; p=(javni ključ od pružatelja) Objavljuje javni DKIM ključ pod selektorom „mail”
_dmarc.example.com TXT v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com Politika za neuspjehe i kamo slati izvješća

Kako to čitati: relej pružatelja e-pošte dopušten je kroz svoj include, vlastiti poslužitelj web stranice kroz svoju IP adresu, a sve ostalo pada. Web stranica potpisuje selektorom „mail” i šalje s adrese na example.com, pa se i SPF i DKIM poravnavaju s domenom u From. Ako se web stranica kasnije preseli na drugi host, SPF i DKIM ključ moraju se promijeniti isti dan. Dva upozorenja: domena mora imati točno jedan SPF zapis, drugi poništava oba; a DNS promjenama treba vremena da se prošire, pa testirajte satima nakon objave, a ne sekundama.

Brojke u nastavku ilustrativan su primjer onoga što popravak postavki mijenja za stranicu koja prima 200 upita iz obrasca mjesečno. Prije: 120 u pristigloj pošti, 60 u spamu, 20 odbijeno (120 + 60 + 20 = 200). Poslije: 196, 3 i 1 (196 + 3 + 1 = 200).

Ilustrativan primjer: gdje završava 200 mjesečnih e-mailova iz obrasca, prije i poslije popravka

Provjera i održavanje u radu

Autentifikacija pošte nije jednokratan zadatak. Svaki novi sustav za slanje, promjena hosta ili pooštrena politika može je ponovno pokvariti, zato pripada u redovito održavanje web stranice. Stranica na managed hostingu trebala bi imati dokumentiran put slanja, SPF i DKIM, kako ih kasnija promjena ne bi poništila.

  • Pošaljite testni upit na poštanske pretince kod Googlea, kod Microsofta i kod vlastitog pružatelja te u zaglavljima poruke pročitajte rezultate SPF-a, DKIM-a i DMARC-a
  • Potvrdite da postoji točno jedan SPF zapis i da navodi svaki sustav koji šalje u ime domene, uključujući relej web stranice
  • Potvrdite da se DKIM selektor koji web stranica koristi razrješava i da se potpis uspješno provjerava
  • Potvrdite da obrazac šalje s adrese na Vašoj domeni i da za posjetitelja koristi Reply-To
  • Potvrdite da hosting račun poštu za Vašu domenu usmjerava pružatelju kod kojeg su poštanski pretinci
  • Objavite DMARC s p=none i adresom za izvješća, pročitajte izvješća, a zatim pooštrite politiku
  • Zapišite koji sustav šalje koju poštu i tko održava DNS te to provjerite nakon svake promjene hosta ili pružatelja e-pošte

Ponovna izrada dobar je trenutak da se sve to provjeri, jer se put slanja obično mijenja s hostom. Ako se Vaša web stranica seli ili redizajnira, stavite postavke pošte na kontrolnu listu za preseljenje i testirajte ih prije nego što se stara stranica isključi.

Pitanja koja često čujemo

Zbog poravnanja. Domena koja je prošla SPF ili domena koja je potpisala DKIM-om mora se podudarati s domenom u retku From. Obrazac koji šalje s druge domene, ili s adrese posjetitelja, ne može se poravnati.

Koristite -all kad ste sigurni da je svaki legitimni pošiljatelj naveden. Dok još otkrivate pošiljatelje, ~all zajedno s DMARC politikom p=none i njezinim izvješćima sigurniji je izbor.

Samo djelomično. Slanje kroz autentificirani servis za e-poštu i korištenje Reply-To pomaže, ali servis i dalje treba SPF i DKIM zapise na Vašoj domeni da bi mu se vjerovalo. Tko god upravlja Vašim DNS-om, mora ih objaviti.

Često nije. Najprije provjerite usmjerava li hosting račun poštu za Vašu domenu lokalno iako su Vaši poštanski pretinci drugdje, i pokazuje li zapisnik pošte poslužitelja da je poruka otišla. Poruka isporučena na pogrešno mjesto ne proizvodi ni pogrešku ni unos u mapi neželjene pošte.

Želite da to bude riješeno, a da to ne radite sami?

Recite nam na čemu radite. Čovjek Vam odgovara u roku od jednog radnog dana.