SPF, DKIM, DMARC pentru un domeniu nou — setări corecte și testare
După înregistrare domeniu, livrabilitatea e-mailurilor depinde decisiv de SPF, DKIM și DMARC. În acest ghid practic găsești explicații clare, exemple concrete de înregistrări TXT pentru un domeniu proaspăt (.ro/.com/.eu), pași de testare și bune practici pentru o reputație sănătoasă.
Ce sunt SPF, DKIM, DMARC (pe scurt)
SPF (Sender Policy Framework)
Declară cine are voie să trimită e-mail în numele domeniului tău. Se publică în DNS ca înregistrare TXT.
DKIM (DomainKeys Identified Mail)
Semnează criptografic mesajele, astfel încât serverele destinatare să poată verifica integritatea lor. Cheia publică se publică în DNS, cheia privată semnează la trimitere.
DMARC (Domain-based Message Authentication, Reporting & Conformance)
Stabilește ce se întâmplă când SPF/DKIM nu se aliniază cu domeniul din From (p=none/quarantine/reject) și oferă rapoarte către tine.
Ordinea corectă a pașilor
- Identifică toate sursele de trimitere (serverul tău SMTP, platformă newsletter, CRM, app-uri).
- Configurează SPF minimalist, acoperind doar sursele reale.
- Activează DKIM la fiecare sursă care poate semna mesajele (chei 2048-bit recomandat).
- Pornește DMARC cu
p=noneși adrese de raportare; analizează rezultatele 1–2 săptămâni. - Întărește politica progresiv:
p=quarantine→p=reject, după ce te asiguri că tot traficul legitim trece alinierea.
SPF: concept, exemple și greșeli
Exemplu generic (hosting propriu + MX local)
TXT @ v=spf1 a mx -all
a→ permite IP-ul(-urile) rezolvate de A/AAAA pentru rădăcina domeniului.mx→ permite serverele tale de primire e-mail să trimită și ele (dacă le folosești la outbound).-all→ respinge restul surselor (politică strictă).
Exemplu cu furnizor extern de trimitere
TXT @ v=spf1 a mx include:mail.exemplu-saas.com -all
Înlocuiește mail.exemplu-saas.com cu domeniul de includere furnizat de serviciul tău. Nu inventa include-uri.
Greșeli comune
- Mai multe înregistrări SPF la
@(trebuie una singură). Dacă ai mai multe, combină-le într-una. - Recordul depășește 10 DNS lookups (include/redirect/a/mx ptr). Optimizează, elimină include-uri nefolosite.
- Folosești
~allsau?allpermanent, lăsând spamul să treacă. Ținta pe termen mediu e-allodată ce ai cartografiat sursele legitime.
DKIM: generare chei, selector și politici
Pași
- Generează o pereche de chei (de regulă din panoul e-mail/hosting sau din aplicația ta SMTP). Alege lungime 2048-bit.
- Definește un selector (ex:
mail2025). Selectorul permite rotația cheilor fără downtime. - Publică cheia publică în DNS:
TXT mail2025._domainkey v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A... - Activează semnarea în serverul tău de trimitere pentru domeniul tău și selectorul ales.
Rotație și mai mulți furnizori
Poți avea mai multe înregistrări DKIM (selectori diferiți), de pildă pentru aplicația ta și pentru platforma de campanii. Rotește cheile periodic (6–12 luni).
DMARC: politică, rapoarte și trecerea la „reject”
Pornește cu p=none
TXT _dmarc v=DMARC1; p=none; rua=mailto:dmarc-rapoarte@exemplu.ro; ruf=mailto:dmarc-forensic@exemplu.ro; fo=1; adkim=s; aspf=s
rua— rapoarte agregate (XML) de la destinatari; pune o cutie dedicată.ruf— rapoarte forensic (selectiv, nu toate serverele trimit).fo=1— solicită forensic la eșec SPF sau DKIM.adkim=s/aspf=s— aliniere strictă (subdomeniul din DKIM/SPF trebuie să se potrivească exact cu domeniul din From).
Întărește treptat
TXT _dmarc v=DMARC1; p=quarantine; pct=50; rua=mailto:dmarc-rapoarte@exemplu.ro; adkim=s; aspf=s
După 1–2 săptămâni de analiză, treci la p=quarantine (opțional cu pct=50), apoi la:
TXT _dmarc v=DMARC1; p=reject; rua=mailto:dmarc-rapoarte@exemplu.ro; adkim=s; aspf=s
„reject” blochează abuzurile (spoofing) în mod eficient, condiția este să ai tot traficul legitim aliniat.
Exemple complete de DNS pentru un domeniu nou
Site + e-mail pe același hosting
A @ 203.0.113.10
AAAA @ 2001:db8::10
CNAME www @
MX @ 10 mail.exemplu.ro
TXT @ v=spf1 a mx -all
TXT mail2025._domainkey v=DKIM1; k=rsa; p=MIIBIjANBgkq...
TXT _dmarc v=DMARC1; p=none; rua=mailto:dmarc-rapoarte@exemplu.ro; adkim=s; aspf=s
E-mail printr-un serviciu extern
MX @ 10 mx1.exemplu-saas.com
MX @ 20 mx2.exemplu-saas.com
TXT @ v=spf1 include:spf.exemplu-saas.com -all
TXT saas2025._domainkey v=DKIM1; p=MIIBIjANBgkq...
TXT _dmarc v=DMARC1; p=none; rua=mailto:dmarc-rapoarte@exemplu.ro; adkim=s; aspf=s
Consultă documentația furnizorului tău pentru domeniile exacte de tip include: și hosturile MX.
Testare: comenzi, headere, instrumente utile
Test DNS
# Linux/macOS
dig TXT exemplu.ro +short
dig TXT _dmarc.exemplu.ro +short
dig TXT mail2025._domainkey.exemplu.ro +short
# Windows (PowerShell)
Resolve-DnsName -Type TXT exemplu.ro
Resolve-DnsName -Type TXT _dmarc.exemplu.ro
Verifică headerele unui e-mail trimis
- Caută
spf=pass,dkim=pass,dmarc=pass. - Asigură-te că domeniul din
From:se aliniază cu domeniul DKIM și/sau SPF.
Rapoarte DMARC
Analizează fișierele XML primite pe adresa din rua=. Te ajută să vezi cine și de unde trimite în numele tău și dacă trece alinierea.
Bune practici & checklist
- ✅ Un singur SPF la
@; ține-l sub 10 lookups. - ✅ Chei DKIM 2048-bit, selector distinct per aplicație; rotește periodic.
- ✅ Pornește DMARC cu
p=none+rua, apoi întărește laquarantine→reject. - ✅ Evită forward în lanț către inboxuri gratuite — poate strica alinierea.
- ✅ Monitorizează bounce-uri, rapoarte DMARC și reputația IP/domeniu.
Întrebări frecvente rapide
Trebuie neapărat -all în SPF?
Pe termen lung, da. Folosește -all după ce ai cartografiat toate sursele legitime. La început poți porni cu ~all doar temporar.
Ce lungime de cheie DKIM să folosesc?
Recomandat 2048-bit. Unele servicii mai vechi folosesc 1024-bit; actualizează când e posibil.
Când pot trece DMARC la reject?
După 1–2 săptămâni de monitorizare la p=none și, eventual, o perioadă scurtă la p=quarantine, când vezi că tot traficul legitim e aliniat.
SPF sau DKIM sunt suficiente fără DMARC?
Nu. DMARC definește politica și cere aliniere; fără el, spoofing-ul rămâne posibil.