tecnico · risposta con fonti

Come verificare un indirizzo email senza inviare email

Puoi verificare un indirizzo email senza inviare un'email eseguendo in sequenza la validazione della sintassi, il lookup dei record DNS e l'handshake del protocollo SMTP. Questo processo controlla se il formato dell'email è corretto e se il server ricevente è configurato per accettare posta per quel dominio, senza consegnare davvero un messaggio.

Validazione della sintassi

Il primo passo è verificare la stringa dell'email rispetto allo standard RFC 5322. In questo modo ti assicuri che l'indirizzo contenga una parte locale, il simbolo chiocciola e una parte di dominio valida. Di solito si usano espressioni regolari per intercettare refusi comuni, caratteri non consentiti e formattazioni errate prima di effettuare qualsiasi richiesta di rete.

Verifica dei record DNS

Una volta confermata la sintassi, devi verificare che il dominio abbia record Mail Exchanger (MX) validi. Una query DNS per il dominio deve restituire almeno un record MX. Se non esistono record MX, il dominio non può ricevere email. Puoi usare strumenti come gli strumenti gratuiti di SendHQ per controllare la configurazione DNS e assicurarti che il dominio sia attivo.

Il processo di handshake SMTP

Il metodo tecnico di verifica consiste nell'avviare una connessione SMTP verso il server MX. Il client invia un comando HELO, seguito da MAIL FROM e RCPT TO. Se il server risponde al comando RCPT TO con 250 OK, il server considera valido l'indirizzo. La connessione viene poi chiusa con il comando QUIT prima di inviare il comando DATA.

Gestire le restrizioni dei server

Molti server di posta moderni usano configurazioni catch-all o il greylisting per impedire la verifica. Un server catch-all accetta tutta la posta per il dominio, indipendentemente dalla parte locale. Il greylisting rifiuta temporaneamente il primo tentativo e obbliga il mittente a ritentare più tardi, cosa che può complicare gli script di verifica in tempo reale.

Aspetti da considerare nell'implementazione

Quando implementi questi controlli, assicurati che il tuo IP di invio abbia una reputazione pulita e un DNS inverso configurato correttamente. Handshake SMTP frequenti senza invio di posta possono essere considerati un comportamento sospetto dai server riceventi, con il rischio che i filtri di sicurezza blocchino il tuo IP o ne limitino il traffico.

Le domande dei team

Un controllo SMTP garantisce la consegna?

No, conferma solo che il server ha accettato il comando RCPT TO. Non garantisce che il messaggio superi i filtri antispam o arrivi in inbox.

Cos'è un indirizzo email catch-all?

Un catch-all è una configurazione del server che accetta qualsiasi email inviata al dominio, anche se la specifica parte locale non esiste.

Posso usare una normale API per farlo?

Sì, molti servizi di validazione email automatizzano i controlli di sintassi, il DNS e l'handshake SMTP tramite una REST API.

Perché alcuni server rifiutano i controlli SMTP?

I server possono rifiutare questi controlli per prevenire gli attacchi di directory harvesting, in cui i bot cercano utenti validi indovinando gli indirizzi.

Fonti primarie