Controllo record SPF: il tuo SPF funziona davvero?
La posta finisce nello spam, o un servizio ti dice che il tuo SPF non è valido? Inserisci qui sotto il tuo dominio. Il checker recupera il record SPF, segue ogni include, conta i lookup DNS rispetto al limite di 10 ed elenca cosa correggere in modo chiaro.
Come un server ricevente usa il tuo record SPF
Quando arriva un messaggio, il server ricevente guarda il dominio del mittente della busta (envelope sender) e recupera il record SPF di quel dominio: un record TXT che inizia con v=spf1. Poi verifica se l’indirizzo IP del server che si è appena connesso è nell’elenco. Il risultato è pass, fail, softfail o neutral, e il destinatario lo valuta insieme ad altri segnali per decidere se il messaggio va nella posta in arrivo o nella cartella spam.
SPF controlla il mittente della busta, non l’indirizzo From che le persone vedono nella loro app di posta. Colmare questa differenza è compito di DMARC.
I termini SPF in sintesi
| Termine | Cosa fa |
|---|---|
| ip4:192.0.2.0/24 | Autorizza un indirizzo o un intervallo IPv4 |
| ip6:2001:db8::/32 | Autorizza un indirizzo o un intervallo IPv6 |
| a | Autorizza gli indirizzi nei record A e AAAA del dominio stesso |
| mx | Autorizza gli indirizzi dei server di posta del dominio |
| include:_spf.example.net | Autorizza anche tutto ciò che autorizza il record SPF di quel dominio |
| exists:name | Autorizza quando un lookup DNS del nome restituisce un indirizzo |
| ptr | Deprecato. Confronta tramite reverse DNS e non andrebbe usato |
| all | Corrisponde a tutto, quindi va per ultimo e imposta il risultato predefinito |
Un qualificatore davanti a un termine imposta il risultato quando c’è corrispondenza: + pass (il valore predefinito), - fail, ~ softfail, ? neutral. Le chiusure abituali sono ~all, che segnala come sospetti i mittenti non elencati, e -all, che chiede ai destinatari di rifiutarli.
Perché SPF si rompe quando aggiungi un altro servizio
SPF consente al massimo 10 termini che attivano un lookup DNS durante la valutazione di un record. Contano include, a, mx, ptr ed exists, e anche il modificatore redirect. ip4, ip6 e all no. I lookup all’interno di un record incluso contribuiscono allo stesso totale.
È così che un record sano si guasta: aggiungi uno strumento per newsletter, un helpdesk, un CRM e un sistema di fatturazione, ognuno con il suo include, e alcuni di questi include contengono a loro volta altri include. Superati i 10, SPF restituisce un errore permanente. I destinatari possono allora trattare ogni messaggio come se il dominio non avesse alcun SPF, e nessuno te lo comunica.
- Rimuovi gli include dei servizi che non usi più.
- Sostituisci un include con intervalli ip4 e ip6 quando gli indirizzi di un provider sono stabili.
- Non usare mai ptr.
- Dove puoi, assegna a ogni servizio di invio un proprio sottodominio. Ogni nome ha il suo limite di 10.
- Se trasformi gli include in indirizzi (flattening), ricorda che i provider cambiano i loro intervalli, quindi un record appiattito richiede aggiornamenti regolari.
Un modo sicuro per impostare la tua policy SPF
- Pubblica esattamente un record SPF per nome. Due record sono un errore permanente.
- Parti da ~all mentre verifichi che ogni mittente legittimo sia elencato, poi passa a -all quando sei sicuro.
- Ricorda che SPF non viene ereditato. Un sottodominio che invia posta ha bisogno del proprio record, e un sottodominio che non invia mai posta può pubblicare v=spf1 -all.
- Abbina SPF a DKIM e a una policy DMARC. Ognuno copre i punti deboli degli altri.