List 03 Pošta
SPF, DKIM i DMARC: zapisi koji dokazuju da mejl šaljete vi
SPF kaže koji serveri smeju da šalju poštu za vaš domen, DKIM potpisuje svaku poruku ključem čiji je javni deo u DNS-u, a DMARC kaže primaocu šta da radi sa porukom koja ne prođe proveru i gde da šalje izveštaje. Sva tri su TXT zapisi u DNS-u domena. Firma koja šalje ponude i račune mejlom treba da ima sva tri.
- List
- 03 / 09
- Naziv
- SPF, DKIM i DMARC
- Razmera
- 1:1
- Revizija
- Crtao
- D. Svilenković
Na ovom listu
Kako rade zajedno
Kad poruka stigne, server primaoca radi dve provere i primenjuje jedno pravilo:
- SPF: da li je server koji je predao poruku na spisku domena iz adrese za povratne poruke (Return-Path). Kod obične pošte to je isti domen kao u adresi pošiljaoca.
- DKIM: da li potpis u zaglavlju poruke odgovara javnom ključu na domenu iz oznake
d=. - DMARC: da li je bar jedna od te dve provere prošla za domen koji se poklapa sa domenom iz polja From, onim koji primalac vidi. To poklapanje se zove poravnanje. Ako ne prođe nijedna, primalac primenjuje politiku iz DMARC zapisa.
Poravnanje je razlog zašto servis za bilten ili program za račune mora da bude podešen za vaš domen. Ako šalje sa svog domena u vaše ime, SPF i DKIM prolaze za njegov domen, a ne za vaš, i DMARC pada. Podrazumevano poravnanje je opušteno: poddomen, na primer bilten.vasafirma.rs, računa se kao isti domen. Strogo poravnanje traži potpuno isto ime.
Poruka
- From
- ime@vasafirma.rs
- Return-Path
- ime@vasafirma.rs
- DKIM-Signature
- d=vasafirma.rs
SPF
Server koji je predao poruku je na spisku domena iz Return-Path.
DKIM
Potpis odgovara javnom ključu domena iz d=.
DMARC
Da li je bar jedna provera prošla za domen iz From?
- Da: poruka prolazi.
- Ne: primalac primenjuje politiku iz oznake p.
SPF
Jedan zapis po domenu
SPF je TXT zapis na samom domenu koji počinje sa v=spf1. Domen sme da ima samo jedan takav zapis; ako ih ima dva, primalac ne prihvata nijedan i rezultat je greška, koju RFC 7208 zove permerror. Kad uvodite nov servis za slanje, dopisujete ga u postojeći zapis.
Zapis stoji tačno na imenu iz adrese: za adrese @vasafirma.rs na imenu vasafirma.rs, u DNS panelima obično označenom sa @ ili praznim poljem za ime. Dugačak zapis DNS čuva u više nizova od najviše 255 znakova, a primalac ih spaja bez razmaka, pa razmak između delova mora da ostane unutar niza.
Granica od 10 DNS upita
Pri proveri primalac sme da uradi najviše 10 DNS upita. Upit troše include, a, mx, ptr, exists i redirect, a ne troše ip4, ip6 i all. Računaju se i upiti unutar uključenih zapisa, pa jedan include može da potroši više upita. Preko granice rezultat je greška (permerror), kao da SPF ne postoji.
Primer sa izmišljenim imenima:
v=spf1 a mx include:_spf.hosting.example include:bilten.example ~allOvde a i mx troše po jedan upit, a svaki include jedan, plus onoliko koliko troši zapis na koji vodi. Ako _spf.hosting.example u sebi ima još dva include, a bilten.example jedan, ukupno je 2 + (1 + 2) + (1 + 1) = 7 upita.
Uz to, najviše dva upita smeju da vrate prazan odgovor ili ime koje ne postoji; treći je greška. Zato include servisa koji više ne koristite nije bezopasan ostatak.
Upite štedite tako što izbacite servise koje ne koristite, a umesto a i mx upišete ip4 i ip6 adrese svojih servera, koje ne troše upite. Tada ih menjate sami kad se adresa servera promeni. Provera DNS zapisa broji upite i pokazuje koji deo zapisa koliko troši.
-
vasafirma.rs7 upitaa1mx1-
include:_spf.hosting.example1 + 2include1include1
-
include:bilten.example1 + 1include1
~all0
Granica: 10 upita
Kraj zapisa: -all, ~all, ?all, +all
| Kraj | Šta kaže primaocu |
|---|---|
-all |
poruke sa servera koji nisu na spisku ne prolaze (fail) |
~all |
takve poruke su sumnjive (softfail); šta se sa njima dešava odlučuje DMARC politika |
?all |
ni da ni ne (neutral); zapis tada skoro ništa ne kaže |
+all |
svako na internetu sme da šalje u vaše ime; ovo nikad ne upisujte |
Ako zapis nema ni all ni redirect, važi isto što i ?all. Sve što stoji posle all primalac ne čita. Microsoft za domene u Microsoft 365 preporučuje -all, jer uz njega preporučuje i DKIM i DMARC, a Google u pomoći za Workspace daje primer sa ~all. Uz ispravan DMARC oba završetka rade posao.
Primeri
Samo hosting, sajt i pošta kod iste firme. Tačan zapis daje hosting; ovaj dozvoljava server sajta (a), servere pošte (mx) i još jednu adresu i troši dva upita:
v=spf1 a mx ip4:192.0.2.10 -allGoogle Workspace, primer iz Google-ove pomoći:
v=spf1 include:_spf.google.com ~allMicrosoft 365, oblik koji daje Microsoft, uz savet da TTL SPF zapisa bude najmanje 3.600 sekundi:
v=spf1 include:spf.protection.outlook.com -allHosting i servis za bilten. Vrednost za include daje servis u svom uputstvu, a ovde je izmišljena. Novi servis se dopisuje u isti zapis, ispred all:
v=spf1 a mx include:spf.primer-bilten.example ~allKad je sve na mestu, pošta izgleda kao kod orkestra Trubači Stars: potpisane poruke, SPF i DMARC.
DKIM
Selektor i gde stoji ključ
Server koji šalje potpisuje svaku poruku privatnim ključem, a javni ključ objavljuje u DNS-u. Ključ stoji na imenu selektor._domainkey.vasafirma.rs. Selektor je ime koje bira servis; u potpisu poruke piše kao s=, a domen kao d=. Jedan domen može da ima više ključeva pod različitim selektorima, na primer jedan za poštu i drugi za bilten.
| Ime | Tip | Vrednost |
|---|---|---|
| default._domainkey.vasafirma.rs | TXT | "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..." |
p= je javni ključ, ovde skraćen. Ako je p= prazno, ključ je opozvan. Oznaka t=y znači probni režim: primalac tada poruke tretira kao nepotpisane.
Dužina ključa
RFC 8301 traži RSA ključ od najmanje 1024 bita, a preporučuje 2048; potpis ključem kraćim od 1024 bita primalac ne sme da prizna. Potpis rsa-sha1 se više ne sme koristiti. Google Workspace preporučuje ključ od 2048 bita ako ga vaš DNS provajder podržava. Takav ključ je duži od 255 znakova, pa ga DNS čuva u više nizova.
Microsoft 365: dva CNAME zapisa
Microsoft 365 za DKIM ne traži TXT, nego dva CNAME zapisa, selector1._domainkey i selector2._domainkey, koji vode na ključeve kod Microsoft-a. Za domene dodate od maja 2025. cilj ima nov oblik, koji se završava na dkim.mail.microsoft, a stariji domeni zadržavaju oblik koji se završava na onmicrosoft.com. Vrednosti prepišite iz Microsoft-ovog portala za svoj domen, ne iz primera. Kad CNAME postoji, a cilj ne postoji, ključa nema i potpis ne prolazi.
Kako da nađete selektor
Selektor ne može da se pogodi iz DNS-a. Google za domene van Workspace-a savetuje da pošaljete probnu poruku i u njenom izvornom tekstu pročitate s= iz zaglavlja DKIM-Signature. U Gmail-u izvorni tekst otvarate preko tri tačke pored dugmeta za odgovor, stavkom za prikaz originala (u engleskom interfejsu: Show original). Provera DNS zapisa proverava uobičajene selektore, a tačan možete da upišete sami.
DMARC
DMARC je TXT zapis na imenu _dmarc.vasafirma.rs. Od maja 2026. važi nova specifikacija, RFC 9989, koja je zamenila RFC 7489. Zbirne izveštaje opisuje RFC 9990, a izveštaje o greškama RFC 9991.
| Ime | Tip | Vrednost |
|---|---|---|
| _dmarc.vasafirma.rs | TXT | "v=DMARC1; p=none; rua=mailto:dmarc@vasafirma.rs" |
Ako se za isto ime vrate dva DMARC zapisa, primalac odbacuje oba. Ako poddomen nema svoj zapis, primalac traži zapis naviše po imenu, najviše osam nivoa, pa za bilten.vasafirma.rs važi zapis domena vasafirma.rs.
Oznake koje vredi znati
| Oznaka | Značenje |
|---|---|
v=DMARC1 |
mora da bude prva, inače primalac zanemaruje ceo zapis |
p |
politika: none (samo izveštaji), quarantine (neželjena pošta) ili reject (odbijanje); bez p važi none |
sp |
politika za postojeće poddomene |
np |
politika za poddomene koji ne postoje; novo u RFC 9989 |
t |
t=y je probni režim: politika se primenjuje stepen blaže, quarantine kao none, a reject kao quarantine; novo u RFC 9989 |
rua |
adresa za zbirne izveštaje; bez nje izveštaji ne stižu |
ruf |
adresa za izveštaje o pojedinačnim greškama; oznaka fo bez nje nema efekta |
adkim, aspf |
poravnanje za DKIM i SPF: r (opušteno, podrazumevano) ili s (strogo) |
psd |
označava javni sufiks, ime ispod koga drugi registruju domene, kao što je .rs; domen firme je ne koristi; novo u RFC 9989 |
Oznaka pct više ne postoji. Vrednosti između 0 i 100 nisu se pouzdano primenjivale, a ulogu pct=0 preuzela je oznaka t=y. Ako je vaš zapis ima, uklonite je pri sledećoj izmeni. Nepoznate oznake primalac preskače.
Postepeno: od p=none do p=reject
- Posmatranje,
p=nonesarua. Nekoliko nedelja čitate izveštaje i tražite servise koji šalju u vaše ime, a nisu u SPF-u ili nemaju DKIM. - Karantin,
p=quarantine. Kad sva vaša pošta prolazi, poruke koje ne prođu idu u neželjenu poštu. Za prelazni period možete da dodatet=y. - Odbijanje,
p=reject. Lažne poruke u ime domena primaoci odbijaju na ulazu.
v=DMARC1; p=none; rua=mailto:dmarc@vasafirma.rs
v=DMARC1; p=quarantine; rua=mailto:dmarc@vasafirma.rs
v=DMARC1; p=reject; rua=mailto:dmarc@vasafirma.rsNa sajtu vodoinstalatera Zlaja 2015 DMARC je podignut sa posmatranja na karantin, a uz to su dodati CAA zapis i security.txt. Kod firme AutoSet Niš politika je pomerena sa karantina na odbijanje, pa se poruka koja se lažno predstavlja kao AutoSet odbija na ulazu, umesto da završi u neželjenoj pošti.
Izveštaji na drugu adresu
Ako rua vodi na adresu na drugom domenu, na primer kod firme koja vam održava poštu, taj domen mora da potvrdi da prima izveštaje za vaš domen. Potvrda je TXT zapis v=DMARC1 na posebnom imenu kod primaoca izveštaja:
| Ime | Tip | Vrednost |
|---|---|---|
| vasafirma.rs._report._dmarc.izvestaji.example | TXT | "v=DMARC1" |
Bez tog zapisa primaoci tu adresu preskaču (RFC 9990) i izveštaji ne stižu, iako je sve ostalo ispravno.
Domen koji ne šalje poštu
Domen koji ne koristite za poštu, na primer vasafirma.com uz glavni vasafirma.rs ili stari domen posle selidbe, i dalje može da se zloupotrebi za lažne poruke. Zatvorite ga sa tri zapisa:
| Ime | Tip | Vrednost |
|---|---|---|
| vasafirma.com. | MX | 0 . |
| vasafirma.com. | TXT | "v=spf1 -all" |
| _dmarc.vasafirma.com. | TXT | "v=DMARC1; p=reject" |
Null MX (0 .) po RFC 7505 kaže da domen ne prima poštu, i uz njega ne sme biti drugih MX zapisa. SPF -all kaže da niko ne šalje u ime domena, a DMARC p=reject traži da se takve poruke odbiju. Tako je zatvoren domen sa kog se ne šalje pošta kod firme Jupiter Planet: SPF koji odbija sve, DMARC na odbijanje i prazan MX. Provera DNS zapisa takav domen prikazuje kao zatvoren za tuđu upotrebu.
Česte greške
- Dva SPF zapisa. Nastaju kad se za nov servis napravi nov zapis umesto da se dopuni postojeći. Primalac tada ne prihvata nijedan.
includeka domenu bez SPF-a. Pogrešno prepisano ime ili ugašen servis obara ceo SPF (permerror).- DMARC na pogrešnom imenu. Zapis stoji na samom domenu umesto na
_dmarc, pa ga primaoci ne nalaze. - Ime domena upisano dvaput. Mnogi DNS paneli sami dodaju ime domena na kraj imena zapisa. Ako u polje upišete
_dmarc.vasafirma.rs, zapis završi na_dmarc.vasafirma.rs.vasafirma.rs. Ista zamka postoji i za DKIM, a opisuje je i Mailchimp u uputstvu za potvrdu domena. ptru SPF-u. RFC 7208 kaže da septrne objavljuje; zamenite ga adresama servera.+allili kraj bezall. Prvi dozvoljava svima da šalju u vaše ime, a drugi ne kaže ništa.p=nonezauvek. Politika posmatranja bez čitanja izveštaja ne štiti ni od čega.
Sve ove greške provera DNS zapisa prepoznaje i objašnjava. Ako poruke i posle ispravki završavaju u spamu, ostali razlozi su na strani Zašto mejlovi idu u spam, a kako se pošta na domenu otvara i podešava na strani Poslovni mejl na domenu firme.
Ako želite da zapise za vaš domen podesim ja, pošaljite upit.
Proverite svoj domen
Alat čita MX, SPF, DKIM, DMARC, CAA i NS zapise vašeg domena i uz svaki nalaz kaže šta znači i šta da popravite.
Česta pitanja
Mogu li da imam dva SPF ili dva DMARC zapisa?
Ne. Ako domen ima dva zapisa koji počinju sa v=spf1, primalac ne prihvata nijedan; RFC 7208 to zove permerror. Ako se za _dmarc vrate dva DMARC zapisa, primalac odbacuje oba (RFC 9989). Kad dodajete nov servis, dopišite ga u postojeći zapis.
Da li je važno ime SPF TXT zapisa?
Jeste. Primalac SPF traži na domenu iz adrese za povratne poruke (Return-Path), koja je kod obične pošte ista kao adresa pošiljaoca. Za adrese @vasafirma.rs zapis mora da stoji na imenu vasafirma.rs, u DNS panelima obično označenom sa @ ili praznim poljem za ime. Zapis na www ili na drugom imenu primalac ne vidi.
Šta znači DMARC p=none?
p=none je politika posmatranja: primaoci ne odbijaju i ne sklanjaju poruke koje ne prođu proveru, ali šalju izveštaje na adresu iz rua. Služi da vidite ko sve šalje u ime domena pre nego što politiku pooštrite na p=quarantine, pa na p=reject. Sama po sebi ne štiti od lažnih poruka u vaše ime.
Kako da proverim DKIM?
Upišite domen u proveru DNS zapisa na ovom sajtu: alat traži ključ pod uobičajenim selektorima i pod selektorom koji upišete. Tačan selektor piše u zaglavlju poruke, u oznaci s= reda DKIM-Signature. Da li je potpis na primljenoj poruci prošao, vidi se u Gmail-u u prikazu originala poruke.
Kako se podešava DMARC za Microsoft 365?
DMARC je TXT zapis u DNS-u vašeg domena, na imenu _dmarc, isti bez obzira na to ko vam drži poštu. Pre nego što pooštrite politiku, proverite da SPF sadrži include:spf.protection.outlook.com i da rade oba DKIM zapisa koje daje Microsoft, selector1 i selector2.
Izvori
Specifikacije i dokumentacija, provereno 28. 9. 2026. Strane su na engleskom.
- RFC 7208: SPF
- RFC 6376: DKIM, i RFC 8301: algoritmi i dužina ključa
- RFC 9989: DMARC, RFC 9990: zbirni izveštaji, i RFC 9991: izveštaji o greškama; zamenjuju RFC 7489 (odnos dokumenata na IETF-u)
- RFC 7505: null MX
- Google Workspace: SPF i DKIM
- Microsoft 365: SPF i DKIM
- Mailchimp: potvrda domena