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.

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.
| 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:
- From adresa: poštanski pretinac na Vašoj vlastitoj domeni, na primjer website@example.com, koji SPF i DKIM pokrivaju.
- From ime: ime posjetitelja je u redu, to je samo oznaka.
- Reply-To: adresa posjetitelja, kako bi odgovor i dalje stigao pravoj osobi.
- 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.
| 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.
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
Ž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.
