🔥 Preparati al Black Friday, al Cyber Monday... 20% di sconto* con il codice BF26 👉🏻 Registrati

Un indirizzo può rispettare tutte le regole di sintassi e non ricevere mai un messaggio. La forma non dice nulla sull’esistenza della casella. Un indirizzo email è valido quando supera tre controlli in sequenza: un formato conforme alla RFC 5322, un dominio con un record MX che accetta posta e una casella che esiste davvero presso il provider. Gli ultimi due controlli proteggono dall’hard bounce, e solo l’ultimo individua una casella cancellata su un dominio valido. Nessun test lo garantisce al 100%.

Questa guida riassume le regole di formato e mette a confronto cinque metodi di verifica. Spiega poi come leggere il verdetto di uno strumento, con i suoi limiti. Per capire perché la validità degli indirizzi email conta per chi spedisce, c’è un articolo dedicato.

Uomo perplesso davanti a una griglia di buste spuntate, logo CaptainVerify

Tre livelli di controllo per tre tipi di errore

Ogni livello intercetta una famiglia di errori che gli altri lasciano passare.

  • Forma: mario.rossi@@esempio.com o mario rossi@esempio.com falliscono qui. È il classico errore di digitazione.
  • Dominio: mario@esempio-chiuso.it ha una forma impeccabile, ma il dominio non esiste più o non riceve posta.
  • Casella: giulia.bianchi@azienda.it supera i primi due controlli, anche se la dipendente ha lasciato l’azienda e il suo account è stato cancellato.

Il terzo livello è quello che né un’espressione regolare né una query DNS riescono a vedere.

Regole di formato della RFC 5322

La RFC 5322 (ottobre 2008) descrive la struttura di un indirizzo, compresa la forma «dot-atom» della sezione 3.2.3. La RFC 5321 (ottobre 2008) fissa le lunghezze massime alla sezione 4.5.3.1: 64 ottetti per la parte locale (prima della @), 255 per il dominio e 256 per il percorso completo tra parentesi angolari, il che lascia 254 caratteri all’indirizzo vero e proprio, secondo la specifica SMTP pubblicata dal RFC Editor.

  • Una sola @, che separa la parte locale dal dominio. L’indirizzo mario@@esempio.com ne ha due e non passa.
  • Parte locale: lettere, cifre e i simboli ! # $ % & ‘ * + – / = ? ^ _ ` { | } ~. Il punto è ammesso se non apre la parte locale, non la chiude e non è mai doppio.
  • Il segno + è valido: nome+newsletter@esempio.com esiste eccome. Un modulo che lo rifiuta scarta indirizzi conformi.
  • Un sottodominio è valido: nome@mail.esempio.com.
  • Spazi e parentesi sono esclusi da un indirizzo semplice.

La sintassi e la struttura di un indirizzo secondo la RFC sono spiegate in un articolo a parte. Qui basta ricordare che un indirizzo corretto nella forma resta un’ipotesi: non prova nulla sul server.

Cinque metodi di controllo a confronto

Nessun metodo copre da solo tutti i livelli. La tabella indica che cosa rileva ciascuno e che cosa lascia passare.

Metodi per verificare un indirizzo: copertura e punti ciechi
Metodo Livello controllato Che cosa rileva Che cosa non rileva
Sintassi (RFC 5322) Forma @ mancante, spazio, carattere vietato, punto a fine parte locale Dominio inesistente, casella assente, refuso plausibile (gmial.com)
Query DNS sui record MX Dominio Dominio non registrato, dominio senza server di ricezione Casella cancellata, spam trap, catch-all
Dialogo SMTP (EHLO, MAIL FROM, RCPT TO) senza invio Casella Casella rifiutata dal server (codice 550 5.1.1), server irraggiungibile Catch-all, server che rispondono 250 e rifiutano più tardi, spam trap
Email di conferma (double opt-in) Casella e consenso Indirizzo che riceve ed è letto dal suo titolare Indirizzo usa e getta ancora attivo, inserimento di un terzo che clicca
Strumento di verifica Tutti e tre, con un verdetto Combina sintassi, MX, SMTP e segnali come i domini usa e getta I casi che il server nasconde: il risultato resta una probabilità

Controllo manuale, passo per passo

Un controllo isolato si fa da terminale, con un messaggio di prova come ultima risorsa.

  • Controlla la forma con le regole qui sopra.
  • Interroga gli MX: nslookup -type=mx esempio.com su Windows 10 o 11 e dig MX esempio.com su macOS o Linux. Per gmail.com la risposta contiene gmail-smtp-in.l.google.com con priorità 5: un elenco di server ordinati per priorità significa che il dominio riceve posta. Senza record MX, la sezione 5.1 della RFC 5321 prevede un ripiego sul record A del dominio, quindi un risultato vuoto non condanna sempre il dominio.
  • Dialoga con il server: apri una sessione SMTP sul primo MX, invia EHLO, poi MAIL FROM e RCPT TO con l’indirizzo da testare. Leggi il codice di risposta ed esci senza scrivere alcun messaggio. I codici 4xx sono rifiuti temporanei, i 5xx rifiuti definitivi. Un 250 (codice 2.1.5 della RFC 3463, pubblicata a gennaio 2003: indirizzo di destinazione accettato) significa che la casella è accettata. Un 550 5.1.1 (codice di stato esteso della RFC 3463 per un indirizzo di destinazione inesistente) significa casella non trovata: Gmail risponde «550-5.1.1 The email account that you tried to reach does not exist». La porta 25 in uscita è spesso chiusa presso i provider di connettività, e da un PC personale l’esercizio si blocca. Il protocollo SMTP e i suoi codici di risposta li spiega un altro articolo.
  • Invia un messaggio di prova se hai un motivo legittimo per contattare la persona. Un rimbalzo (NDR) arriva in pochi minuti quando la casella non esiste.

Questa routine non regge su larga scala. Oltre poche decine di indirizzi, i servizi di convalida online automatizzano i tre controlli e segnalano anche gli indirizzi usa e getta.

Leggere il verdetto di uno strumento di verifica

La maggior parte degli strumenti restituisce uno di questi tre verdetti.

  • Valido: il server ha accettato l’indirizzo nel dialogo SMTP. Puoi inviare: il rischio di hard bounce è basso.
  • Non valido: formato errato, dominio senza MX né A o casella rifiutata con codice 5.1.1. L’invio produrrebbe un hard bounce, quindi elimina l’indirizzo.
  • A rischio: il test non decide. Casi tipici: dominio catch-all, server che rimanda con un codice 4xx (deferral), casella piena, indirizzo usa e getta.

Il verdetto «a rischio» richiede una tua scelta. Un indirizzo preso da un modulo recente merita un double opt-in. Uno proveniente da un file acquistato o vecchio di due anni non merita nessun invio.

Limiti dei test: catch-all e spam trap

Un dominio catch-all risponde 250 a qualsiasi indirizzo, anche a asdfghjkl@esempio.com. Il dialogo SMTP non dice allora nulla sulla casella. Gli strumenti classificano questi indirizzi come a rischio.

Una spam trap si comporta come una casella normale: accetta la posta e supera tutti i test. Sono caselle abbandonate e poi riciclate da un provider, oppure indirizzi creati apposta per incastrare chi raccoglie contatti senza consenso. Né un controllo DNS né un dialogo SMTP li distinguono da un indirizzo vero. Li evita solo una raccolta fatta bene, con double opt-in e rimozione dei contatti inattivi. Scrivere a una trap espone al rischio di finire in una lista nera.

Certi server rispondono 250 al dialogo e rimandano un NDR pochi minuti dopo.

Riconoscere un indirizzo fraudolento

Un indirizzo può essere valido e malevolo. Leggi il dominio dopo la @ fino all’ultimo punto: servizio@banca-esempio.com.ru appartiene al dominio .ru, qualunque sia il nome della banca che precede. Una lettera cambiata nel dominio (paypa1.com) tradisce un tentativo di phishing.

Nel tuo client di posta apri le intestazioni complete del messaggio e confronta l’indirizzo mostrato con quello dell’intestazione Return-Path. Una differenza tra i due è un segnale di spoofing, che trova conferma nei risultati SPF, DKIM e DMARC delle stesse intestazioni.

Bloccare gli indirizzi sbagliati già all’inserimento

Meglio impedire l’ingresso di un indirizzo che toglierlo dopo. Una convalida in tempo reale sul modulo corregge i refusi più evidenti. Il double opt-in conferma che la casella esiste e che il titolare ha chiesto l’iscrizione: riduce gli indirizzi non validi e le iscrizioni false. Un captcha frena quelle automatiche.

Per una base già esistente, fai passare un campione in uno strumento di verifica delle liste email prima della prossima campagna e confronta il tasso di hard bounce con quello dell’invio precedente. Gli indirizzi morti pesano sul recapito: Gmail chiede ai mittenti di restare sotto lo 0,3% di segnalazioni di spam, e Yahoo applica lo stesso tetto ai mittenti di massa (linee guida di Google, in vigore da febbraio 2024).

Domande frequenti

Si può verificare un indirizzo senza inviargli un’email?

Sì. La query DNS sugli MX controlla il dominio. Il dialogo SMTP interroga la casella senza trasmettere alcun messaggio. I catch-all e i server che accettano tutto limitano l’affidabilità del secondo passaggio.

Un indirizzo valido è per forza attivo?

No. Valido significa che il server accetta l’indirizzo. Il titolare può non aprire quella casella da mesi, cosa che pesa sul coinvolgimento senza provocare rimbalzi.

Come si verifica un’intera lista?

Il controllo manuale copre pochi indirizzi. Oltre, uno strumento di verifica automatizza i controlli e assegna uno stato a ogni riga. Prova prima cinque indirizzi di cui conosci lo stato reale e confrontali con il verdetto mostrato.

Aggiungi Captain Verify come fonte preferita su Google
Nicolas Forni
Author

Fondatore di Captain Verify, lavoro sulla verifica di email e numeri di cellulare dal 2015. In questo blog scrivo di deliverability, igiene dei database di contatti, regole dei provider di posta e SMS marketing. Articoli concreti, pensati per i team marketing che inviano ogni settimana.