Come configurare SPF, DKIM e DMARC

Una guida pratica per autenticare il tuo dominio: pubblica SPF, DKIM e DMARC nell'ordine giusto, tieni gli IP di invio fuori dalle blocklist e verifica che ogni livello passi davvero.

Questa è una guida pratica alla configurazione: come pubblicare SPF, DKIM e DMARC per un dominio da cui tu invii posta, tenere gli IP di invio fuori dalle blocklist RBL e verificare che tutto funzioni davvero. Se prima vuoi la teoria in parole semplici su cosa è ciascun meccanismo, leggi una qualsiasi introduzione generale del tipo “come funziona l’autenticazione email” — qui ci concentriamo sui record che crei, l’ordine in cui li distribuisci e gli errori che rompono la posta reale.

Prima di iniziare, procurati due cose:
  • L’accesso alla zona DNS del tuo dominio (dove aggiungi i record TXT) — di solito il tuo registrar o host DNS.
  • Un elenco scritto di ogni servizio che invia posta a nome del tuo dominio: il tuo provider di caselle (Google Workspace, Microsoft 365…), il tuo server di posta e qualsiasi terza parte — strumento di newsletter, CRM, fatturazione, help desk. Dimenticarne uno farà fallire l’autenticazione della sua posta.

Passo 1 — Pubblica un solo record SPF

SPF è un singolo record TXT sulla radice del tuo dominio che elenca i server autorizzati a inviare per esso. La regola che frega tutti: un dominio può avere un solo record SPF. Se usi più mittenti, li unisci in un’unica riga con più meccanismi include: — non pubblichi due record SPF.

Un record tipico per un dominio che invia tramite Google Workspace più uno strumento di marketing:

example.com. IN TXT "v=spf1 include:_spf.google.com include:sendgrid.net -all"
ElementoSignificato
include:_spf.google.comAutorizza per riferimento l’intero intervallo di invio di un provider. Prendi il token esatto dalla documentazione di ciascun mittente.
ip4: / ip6:Autorizza il tuo server di posta tramite il suo IP pubblico, ad es. ip4:203.0.113.10.
~all vs -all~all = softfail (parti da qui durante i test); -all = hardfail (passa a questo una volta completato l’elenco).

Il limite di 10 lookup. SPF consente al massimo 10 lookup DNS durante la sua valutazione; ogni meccanismo include: e a/mx può costarne uno o più. Superarlo fa restituire a SPF permerror — trattato come un fallimento. Se accumuli molti provider, elimina gli include inutilizzati o usa un servizio di SPF-flattening invece di aggiungerne altri.

Inizia in modo morbido, poi irrigidisci. Pubblica con ~all per una o due settimane, conferma che nessun mittente legittimo fallisca, poi cambia il meccanismo finale in -all.

Passo 2 — Attiva DKIM su ogni mittente

DKIM aggiunge una firma crittografica a ogni messaggio. Raramente costruisci la chiave a mano — ogni piattaforma di invio la genera e ti fornisce un record TXT (o CNAME) da pubblicare sotto un selector. Fallo per ogni mittente: Google, Microsoft, il tuo ESP e il tuo server ottengono ciascuno il proprio selector e la propria chiave.

  1. Nel pannello di amministrazione del mittente, abilita DKIM / “autenticazione email”. Ti mostra un selector (ad es. google, s1) e una chiave pubblica.
  2. Pubblicalo nel DNS all’indirizzo <selector>._domainkey.example.com. I provider che usano un CNAME possono ruotare la chiave per te — preferisci questa opzione quando offerta.
  3. Tornato nel pannello, fai clic su Avvia autenticazione così il mittente inizia ad aggiungere l’intestazione DKIM-Signature:. Preferisci una chiave a 2048 bit quando puoi scegliere.

Poiché la firma viaggia dentro il messaggio, DKIM sopravvive all’inoltro (a differenza di SPF) — ed è esattamente per questo che il passo successivo si appoggia ad esso.

Passo 3 — Distribuisci DMARC gradualmente

DMARC lega SPF e DKIM all’indirizzo From: visibile e dice ai destinatari cosa fare in caso di fallimento. Non partire mai da p=reject — respingeresti la tua stessa posta legittima proveniente da un mittente che hai dimenticato. Distribuiscilo in tre fasi, osservando i report tra una e l’altra.

FaseRecord su _dmarc.example.comScopo
1. Monitoraggiov=DMARC1; p=none; rua=mailto:dmarc@example.comNon cambia nulla per i destinatari; raccoglie soltanto report aggregati su chi invia a tuo nome.
2. Quarantenav=DMARC1; p=quarantine; pct=25; rua=…Invia nello spam una parte della posta che fallisce. Aumenta pct man mano che acquisisci fiducia.
3. Applicazionev=DMARC1; p=reject; rua=…; sp=rejectRespinge del tutto la posta contraffatta. sp= imposta la policy per i sottodomini.

L’indirizzo rua= riceve ogni giorno report aggregati XML dai destinatari. Leggili (all’inizio basta un visualizzatore di report DMARC gratuito): ognuno elenca gli IP di invio che usano il tuo dominio e se hanno superato SPF e DKIM con allineamento. L’allineamento è il trucco — un messaggio non deve limitarsi a superare SPF o DKIM, il dominio che passa deve coincidere con il dominio From:. Se un servizio legittimo supera DKIM per il proprio dominio ma non per il tuo, correggilo pubblicando il DKIM di quel servizio sotto il tuo dominio (Passo 2) prima di passare all’applicazione.

Passo 4 — Tieni gli IP di invio fuori dalle RBL

SPF/DKIM/DMARC dimostrano l’identità; le blocklist RBL (DNSBL) giudicano la reputazione dell’IP di invio. Un messaggio perfettamente autenticato finisce comunque nello spam se il suo IP è elencato. Per le RBL non pubblichi nulla — ne resti fuori:

  • Invia solo posta desiderata. I reclami per spam e il finire negli spam-trap sono il modo più rapido per entrare in una lista.
  • Riscalda i nuovi IP gradualmente invece di sparare volumi elevati fin dal primo giorno.
  • Metti in sicurezza ogni account e script in grado di inviare — un singolo form o una password compromessi fanno elencare l’intero IP.
  • Imposta un reverse DNS (PTR) valido per il tuo IP di invio, che corrisponda al suo nome HELO.

Se vieni comunque elencato, la maggior parte delle liste affidabili (Spamhaus e altre) mostra il perché e offre la rimozione self-service una volta risolta la causa. Prima correggi, poi richiedi la rimozione — farsi togliere dalla lista mentre il problema persiste ti fa solo rielencare.

Passo 5 — Verifica che funzioni davvero

Pubblicare i record non è una prova. Conferma ogni livello:

  • Controlla che i record esistano. Interroga il DNS direttamente: dig TXT example.com, dig TXT google._domainkey.example.com, dig TXT _dmarc.example.com (oppure nslookup -type=TXT su Windows).
  • Conferma i server di posta che hai autorizzato. Usa il nostro MX Lookup per vedere gli host MX che un dominio pubblica realmente — utile per individuare un mail host obsoleto o sbagliato.
  • Leggi i risultati su un messaggio reale. Inviati un messaggio di prova, apri il suo sorgente grezzo e incollalo nel decodificatore MIME. Guarda l’intestazione Authentication-Results: — indica spf=pass, dkim=pass e dmarc=pass (o l’esatto fallimento) così come li ha visti il destinatario. Quella è la verità di fatto.
  • Osserva i report DMARC per un paio di settimane prima di passare da p=none all’applicazione.

Errori di configurazione comuni

SintomoCausa abituale e correzione
SPF permerrorDue record SPF, oppure più di 10 lookup DNS. Uniscili in un unico record; taglia gli include: inutilizzati.
La posta legittima fallisce SPFUn mittente che hai dimenticato di autorizzare, oppure la posta è stata inoltrata. Aggiungi il mittente; per l’inoltro affidati all’allineamento DKIM+DMARC.
DKIM fail (hash del corpo)Qualcosa ha riscritto il messaggio in transito (un footer di mailing list, un apparato). Firma con canonicalizzazione relaxed; escludi le intestazioni volatili.
DMARC fallisce nonostante SPF/DKIM passNessun allineamento — il dominio che passa non è il tuo dominio From:. Pubblica il DKIM di quel mittente sotto il tuo dominio.
I sottodomini vengono contraffattiNessuna policy per i sottodomini. Aggiungi sp=reject al record DMARC.

Una volta che tutti e tre i record sono attivi, allineati e verificati — e i tuoi IP restano fuori dalle blocklist — hai chiuso la porta a chi vuole contraffare il tuo dominio e hai dato alla tua posta reale le migliori possibilità di arrivare nella posta in arrivo. Per un controllo veloce di singoli indirizzi su qualsiasi dominio, il verificatore di email nella home page esegue per te i controlli live delle caselle.