Se il tuo email finisce nello spam, le prime due colpe sono quasi sempre una: il destinatario non conosce il tuo dominio, oppure il tuo server di posta non si “presenta” correttamente. Ecco dove entrano in gioco SPF, DKIM e DMARC. Non sono tecnologie magiche, ma tre meccanismi di autenticazione email che, insieme, dicono ai provider (Gmail, Outlook, Libero, Virgilio, Aruba e altri) che il tuo messaggio è davvero partito da te e non da un impostore. In questa guida ti spiego come funzionano, perché sono obbligatori dal febbraio 2024 per chi spedisce a Gmail e Yahoo, e come configurarli correttamente.
Perché SPF, DKIM e DMARC sono essenziali
Per decenni, il protocollo SMTP non ha chiesto a nessuno di provare chi fosse davvero il mittente di un email. Chiunque, con un minimo di conoscenza tecnica, poteva spedire un messaggio fingendo di essere il Papa. Gli spammer se ne sono approfittati, e ancora oggi una buona parte dello spam mondiale usa falsificazione del dominio mittente (spoofing).
SPF, DKIM e DMARC sono il rimedio: tre standard complementari che certificano il dominio mittente direttamente a livello DNS. Quando un email arriva sui server di Gmail, Outlook o Libero, il provider controlla questi tre record e decide se fidarsi del tuo messaggio.
A partire da febbraio 2024, Gmail e Yahoo hanno reso obbligatoria una configurazione minima: SPF e DKIM devono essere sempre presenti, DMARC almeno in modalità p=none (monitoraggio senza rifiuto), e ogni email commerciale deve contenere un modo semplice (one-click) per disiscriversi. Se non lo fai, il tuo tasso di spam può salire, e i tuoi messaggi potrebbero finire in spam o essere rifiutati direttamente.
Cos'è SPF (Sender Policy Framework)
SPF è il più semplice dei tre. In pratica, tu dici al mondo (tramite un record DNS di tipo TXT): “Gli email che arrivano dal dominio mieidominio.it possono venire solo dai server con questi indirizzi IP: 1.2.3.4 e 5.6.7.8”. Quando un email arriva, il provider controlla il record SPF del tuo dominio, verifica l'IP del server mittente, e se corrisponde, il messaggio passa il test SPF.
Una sintassi minima di SPF è:
v=spf1 include:mailserver.com ~allQuesto significa: “versione 1 di SPF, accetta server elencati in mailserver.com, tutti gli altri sono softfail (~all)”. Se vuoi essere più restrittivo e rifiutare tutto il resto, usi -all:
v=spf1 include:mailserver.com -allErrore comune: aggiungere troppi indirizzi IP finché il record non supera i 255 caratteri (limite DNS). Soluzione: usa include:provider per raggruppamenti logici, non IP singoli.
Cos'è DKIM (DomainKeys Identified Mail)
DKIM è un livello più sofisticato. Funziona così: il tuo server di posta firma ogni email con una chiave privata crittografica. Il provider ricevente controlla la firma tramite la chiave pubblica che tu pubblichi nel DNS. Se la firma è corretta, il provider sa che il messaggio non è stato alterato nel tragitto e viene davvero dal tuo dominio.
A differenza di SPF, che funziona solo con l'IP del server, DKIM funziona anche se il tuo email passa per un relay o un provider di email marketing (come MailUp o Brevo): il provider intermedio firma il messaggio col suo dominio, e il destinatario vede che sia il primo mittente (te) che il relay (MailUp) hanno una firma valida. È più flessibile e robusto.
Nel DNS, un record DKIM ha questa forma:
selector1._domainkey.mieidominio.it TXT v=DKIM1; k=rsa; p=MIGfMA0B...[chiave pubblica lunga]...AQABIl “selector” è un identificativo (puoi averne più di uno se usi più provider). La chiave pubblica è molto lunga. Se non la metti nel DNS, nessuno potrà verificare le tue firme.
Cos'è DMARC (Domain-based Message Authentication, Reporting and Conformance)
DMARC è il capolavoro dei tre. Non autentica il messaggio direttamente (lo fanno SPF e DKIM), ma invece dice ai provider cosa fare se SPF o DKIM falliscono. Inoltre, ti invia report su quanti email autenticati e quanti no sono stati inviati dal tuo dominio.
Un record DMARC minimo è:
v=DMARC1; p=none; rua=mailto:dmarc@mieidominio.itQuesto significa: “Versione 1 di DMARC, se SPF e DKIM falliscono, non fare nulla (p=none), ma inviami i report aggregati a dmarc@mieidominio.it”. In questa fase di “monitoraggio”, raccorgli dati su cosa funziona e cosa no. Dopo qualche settimana, quando sei sicuro che il 100% dei tuoi email legittimi passa SPF o DKIM, puoi irrigidire a p=quarantine (isola in spam) o p=reject (rifiuta).
La policy p=reject è la più severa: Gmail, Yahoo e altri rifiutano outright qualsiasi email dal tuo dominio che non superi SPF e DKIM. È il gold standard, perché impedisce lo spoofing del tuo dominio.
Come verificare le tue record SPF, DKIM e DMARC
La configurazione al DNS è il primo passo. Ma come sai se funziona davvero? Ecco tre modi:
- Strumenti online gratuiti: siti come MXToolbox o similar ti dicono se il tuo record SPF, DKIM e DMARC sono presenti e ben formattati. È gratis e veloce.
- Spedi un email di prova al tuo provider: usa il nostro test di inbox placement gratuito e invia un email ai seed-address di Gmail, Libero, Outlook, Aruba e altri provider italiani. Vedrai direttamente se SPF, DKIM e DMARC passano, se il messaggio arriva in Inbox o Spam, e avrai screenshot di come appare il tuo email nel vero uccello.
- Controlla i report DMARC: dopo 24–48 ore, Gmail, Yahoo e altri ti mandano un report (in genere compresso in formato XML) all'indirizzo rua= nel tuo record DMARC. Ti dice esattamente quanti email dal tuo dominio hanno passato SPF, quanti DKIM, quanti nessuno dei due. Se vedi anomalie, capisci subito cosa è rotto.
Errori comuni nella configurazione
Ecco i problemi che vedo più spesso:
- SPF record troppo lungo: aggiungere troppi include: o indirizzi IP finché superi 255 caratteri. DNS non ti lascia andare oltre. Soluzione: raggruppa gli IP in un singolo include:, o usa un provider di consolidamento (alcuni provider di posta offrono un include: loro che sostituisce 5–10 record).
- DKIM non aggiornato al cambio provider: passi da Aruba a MailUp, ma dimentichi di aggiungere un nuovo selector DKIM per MailUp nel DNS. Risultato: le email da MailUp hanno una firma che nessuno può verificare. Soluzione: quando cambi provider, aggiungi il nuovo selector nel DNS, non rimpiazzare il vecchio (gli email in transito ancora lo useranno).
- DMARC impostato con p=reject fin da subito: metti subito p=reject senza verificare che il 100% dei tuoi email passa SPF o DKIM. Risultato: molti email legittimi vengono rifiutati. Soluzione: partisci sempre con p=none, monitora per 1–2 settimane, poi scala a p=quarantine, infine p=reject quando sei sicuro.
- Manca From:-header alignment in DMARC: SPF e DKIM verificano il dominio tecnico (MAIL FROM per SPF, d= per DKIM), ma non sempre il From: che l'utente vede. DMARC esige che almeno uno tra SPF e DKIM sia “aligned” (il dominio sia lo stesso del From:). Se no, DMARC fallisce anche se SPF passa. Soluzione: accertati che il dominio MAIL FROM (SPF) e il dominio DKIM siano lo stesso del From: dell'email.