"Il cliente dice che la fattura non gli è mai arrivata." Se lo senti spesso, il problema quasi sempre non è la casella del cliente. È il tuo dominio che non dimostra di essere tuo. Dal 2024 Gmail e Yahoo, e dal 2025 anche Outlook.com, trattano con molta più severità i messaggi che arrivano da domini senza autenticazione. Quello che prima finiva in spam oggi viene rifiutato.
A decidere sono tre record DNS: SPF, DKIM e DMARC. Si configurano in un'ora, ma basta un dettaglio sbagliato perché non servano a niente.
Il problema: chiunque può scrivere a nome tuo
Il protocollo SMTP nasce senza alcuna verifica del mittente. Chiunque può mandare un messaggio con From: [email protected] da qualsiasi server del mondo. È così che funziona il phishing sulle fatture: il fornitore "cambia IBAN" con una mail che sembra partita dal suo dominio.
I tre record servono a rispondere a tre domande diverse:
- SPF: questo server è autorizzato a spedire per il dominio?
- DKIM: il messaggio è firmato dal dominio e non è stato alterato per strada?
- DMARC: se i controlli falliscono, cosa deve fare chi riceve? E il dominio in
Fromcorrisponde a quello verificato?
SPF: l'elenco dei server autorizzati
SPF è un record TXT sul dominio che elenca chi può spedire. Un esempio per un'azienda che usa Microsoft 365 e un gestionale che manda le fatture da un servizio esterno:
tuaazienda.it. TXT "v=spf1 include:spf.protection.outlook.com include:_spf.servizio-fatture.it ip4:203.0.113.25 -all"
Gli errori che vedo più spesso
- Due record SPF sullo stesso dominio. Deve essercene uno solo: con due, il risultato è
permerrore il controllo fallisce sempre. Capita quando si aggiunge un servizio nuovo creando un secondo TXT invece di modificare quello esistente. - Più di 10 lookup DNS. Ogni
include,a,mxconta, anche quelli annidati dentro gli include. Oltre 10 lo SPF va in errore. Chi usa CRM, newsletter, gestionale e posta ci arriva in fretta. - Servizi dimenticati. Il multifunzione che manda le scansioni, il sito web che invia i moduli contatti, il software dei turni. Se spediscono col tuo dominio, devono stare nello SPF o passare da un relay autorizzato.
+all: autorizza tutto il mondo. Equivale a non avere SPF.
Sulla chiusura: ~all (softfail) va bene nella fase iniziale, -all quando sei sicuro dell'elenco. Con DMARC attivo la differenza conta meno di quanto si pensi, perché è DMARC a dare l'istruzione finale.
DKIM: la firma crittografica
Il server di posta firma ogni messaggio con una chiave privata; la chiave pubblica sta nel DNS, sotto un nome con un selettore:
s1._domainkey.tuaazienda.it. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
Chi riceve legge il selettore dall'header DKIM-Signature, recupera la chiave e verifica. Se qualcuno modifica il corpo o l'oggetto per strada, la firma non torna.
- Usa chiavi RSA a 2048 bit. Le 1024 sono ancora accettate ma sono considerate deboli.
- Ogni servizio che spedisce per te deve firmare con il tuo dominio, non con il suo. Molte piattaforme di newsletter firmano di default col proprio: va attivata l'autenticazione del dominio nel loro pannello.
- Alcuni pannelli DNS spezzano male i record TXT lunghi. Dopo averlo inserito, verificalo sempre con
dig.
DMARC: la regola finale e l'allineamento
SPF e DKIM da soli hanno un buco: verificano domini tecnici (il Return-Path, il dominio della firma) che l'utente non vede. Un truffatore può far passare SPF con il suo dominio e mettere il tuo nel From. DMARC chiude il buco richiedendo l'allineamento: almeno uno tra SPF e DKIM deve passare con lo stesso dominio del From.
_dmarc.tuaazienda.it. TXT "v=DMARC1; p=none; rua=mailto:[email protected]; adkim=r; aspf=r"
Il percorso giusto: none, quarantine, reject
p=noneper 2–4 settimane. Nessun effetto sulla consegna, ma ricevi i report aggregati (rua) da Google, Microsoft e gli altri: scopri tutti i server che spediscono a tuo nome, compresi quelli che non conoscevi.p=quarantinequando i report mostrano solo sorgenti legittime allineate. Chi fallisce finisce in spam.p=rejectcome stato finale: le mail false a tuo nome vengono rifiutate.
I report sono file XML poco leggibili: conviene una casella dedicata e uno strumento che li aggrega, anche open source. Saltare la fase none e partire da reject è il modo più rapido per bloccare le fatture del gestionale che nessuno aveva messo nello SPF.
Attenzione ai domini che non spediscono. Anche un dominio usato solo per il sito va protetto, altrimenti diventa il bersaglio preferito per lo spoofing: v=spf1 -all e v=DMARC1; p=reject dicono al mondo che da lì non parte nessuna mail.
Come capire cosa non va: leggere gli header
Mandati una mail a una casella Gmail e apri "Mostra originale". In alto trovi il riepilogo; nel sorgente cerca l'header Authentication-Results:
Authentication-Results: mx.google.com;
dkim=pass [email protected] header.s=s1;
spf=pass (google.com: domain of [email protected] designates 203.0.113.25 as permitted sender);
dmarc=pass (p=QUARANTINE) header.from=tuaazienda.it
Tre pass e sei a posto. Se DKIM passa ma header.i è il dominio del fornitore di newsletter, DMARC fallirà l'allineamento. Per controllare i record dal terminale:
dig +short TXT tuaazienda.it
dig +short TXT s1._domainkey.tuaazienda.it
dig +short TXT _dmarc.tuaazienda.it
Se il server di posta è tuo
Chi gestisce un server di posta in proprio (Mailcow, Postfix, Exchange on-premise) ha qualche controllo in più da fare:
- PTR (reverse DNS) dell'IP di uscita che punta al nome del server, e quel nome che risolve di nuovo sullo stesso IP. Senza, molti provider rifiutano a prescindere.
- IP non in blacklist: gli IP delle linee residenziali e di molti VPS economici lo sono già in partenza.
- TLS valido sul servizio SMTP e un
HELOcoerente con il PTR. - Se c'è un gateway antispam davanti, il server interno deve fidarsi del suo IP. Altrimenti rischi che i controlli SPF vengano fatti sull'IP del gateway e falliscano per ogni mittente.
Checklist in cinque minuti
- Un solo record SPF, sotto i 10 lookup, con tutti i servizi che spediscono
- DKIM attivo con chiave 2048 bit, per la posta e per ogni piattaforma esterna
- DMARC presente, con
ruache arriva a una casella letta da qualcuno - Piano per passare da
noneaquarantineereject - Domini parcheggiati protetti con SPF
-alle DMARCreject
In pratica: quasi tutti i domini che controllo hanno almeno uno di questi problemi, di solito un servizio dimenticato nello SPF o un DMARC fermo a p=none da anni senza che nessuno legga i report. Sistemarli è uno degli interventi con il miglior rapporto tra tempo speso e problemi evitati.
Posso aiutarti con la tua infrastruttura?
Che tu abbia un progetto da zero o un problema da risolvere, scrivimi o prenota una call gratuita di 30 minuti.