È un limite scritto nello standard che quasi nessuno conosce finché non ci sbatte contro: durante la verifica di un record SPF si possono fare al massimo dieci interrogazioni DNS. Non dieci voci nel record — dieci interrogazioni, che è una cosa diversa e peggiore.
Superato il tetto, il record non smette di esistere. Restituisce un errore permanente, e da quel momento la posta della tua azienda viene giudicata come se SPF non ci fosse. Nessun avviso, nessun messaggio: solo consegna che peggiora.
Cosa consuma un lookup
Consumano una interrogazione ciascuno, e sono quelli che si accumulano nel tempo:
include:— la voce che aggiungi ogni volta che autorizzi un servizio esterno;aemx— comodi e costosi;ptr— da non usare comunque, per altri motivi;redirect=— conta come gli altri;exists:— raro, ma conta.
Non consumano niente ip4: e ip6:, perché sono indirizzi già scritti e nessuna domanda deve essere posta.
Il punto che coglie tutti di sorpresa: un include: non vale uno. Vale uno più tutto quello che quel record include a sua volta. Il record di un grande fornitore di posta ne contiene spesso altri due o tre, e il conto è ricorsivo.
Perché le aziende ci arrivano senza accorgersene
Nessuno progetta un record SPF sopra il limite. Ci si arriva per accumulo, un servizio alla volta, nell'arco di anni:
- il provider di posta aziendale;
- il gestionale, che manda le conferme d'ordine;
- la piattaforma di newsletter;
- il servizio di fatturazione elettronica;
- il CRM che manda i preventivi;
- l'e-commerce;
- il modulo del sito;
- e infine quello aggiunto la settimana scorsa, che ha fatto scattare il conto.
Nessuna delle aggiunte era sbagliata. È la somma a esserlo, ed è per questo che il problema compare mesi dopo l'ultima modifica che qualcuno ricorda di aver fatto.
Come si conta
A mano è possibile ma noioso: si legge il proprio record, si risolve ogni include: e si contano le interrogazioni annidate, ricorsivamente.
Nella pratica si usa uno dei validatori SPF pubblici, che fanno esattamente questo e dicono a quanti lookup sei. Il numero da guardare non è quanti include: hai scritto, ma il totale calcolato.
Regola pratica: se il totale è nove, sei già nei guai. Il prossimo servizio che qualcuno aggiungerà lo farà senza chiedere il permesso a nessuno.
Le quattro strade per rientrare
1. Togliere quello che non spedisce più. È il primo passo e spesso è sufficiente. In quasi ogni record ci sono autorizzazioni per piattaforme che l'azienda non usa da anni. Se un servizio non manda email da dodici mesi, non è un mittente.
2. Sostituire include: con ip4: dove ha senso. Se un servizio spedisce da indirizzi fissi e dichiarati, si possono mettere quegli indirizzi direttamente: costo zero lookup. Con un servizio che cambia infrastruttura spesso, invece, è una scelta fragile — l'indirizzo cambia, tu non lo sai, e la posta smette di passare. Va bene per un server tuo, meno per un grande fornitore cloud.
3. Togliere a e mx se non servono. Sono le voci che si mettono per abitudine. mx autorizza i tuoi server di posta in entrata a spedire: se non spediscono, è un lookup regalato.
4. Spostare i mittenti su un sottodominio. È la soluzione strutturale, ed è quella giusta quando le prime tre non bastano. Le newsletter partono da un sottodominio dedicato, con il suo record SPF e il suo conteggio indipendente; la fatturazione da un altro. Il dominio principale torna leggero e la reputazione dei flussi si separa, il che è un vantaggio anche a prescindere dal limite.
Quello che invece non è una soluzione è dividere il record in due: uno stesso dominio può avere un solo record SPF, e averne due è un errore che li invalida entrambi.
Il dettaglio che salva la posta durante il lavoro
Mentre sistemi, tieni la fine del record su ~all e non su -all. La prima dice "quello che non è nella lista, trattalo con sospetto"; la seconda dice "rifiutalo". Con un conteggio ancora incerto, la differenza fra le due è un pomeriggio di lavoro tranquillo o una giornata di email bloccate.
Si passa a -all alla fine, quando il conto è sotto il limite e i rapporti DMARC confermano che nessun mittente legittimo resta fuori. Ed è il motivo per cui questo lavoro si fa insieme a DMARC in osservazione e non da solo: senza i rapporti stai indovinando quali mittenti esistono davvero.
Un'ultima cosa, sul record che erediti
Se hai appena preso in gestione un dominio altrui, guarda il conteggio SPF prima di qualunque altra cosa. È uno degli indicatori più affidabili di come è stata trattata quella posta negli anni: un record al limite racconta una storia di aggiunte senza mai una revisione, e di solito accanto si trovano anche le chiavi DKIM di servizi dismessi e un DMARC che non c'è.