Posso confermare le risposte di Joseph e Drew da utilizzare RCTP TO: <address_to_check>
. Vorrei aggiungere alcune piccole aggiunte oltre a queste risposte.
Provider catch-all
Alcuni provider di posta implementano un criterio catch-all, il che significa che *@mydomain.com
tornerà positivo al fileRCTP TO:
comando. Ma questo non significa necessariamente che la casella di posta "esista", come in "appartiene a un essere umano". Non si può fare molto qui, basta essere consapevoli.
Greylisting IP / Blacklisting
Greylisting: la prima connessione da IP sconosciuto è bloccata. Soluzione: riprova almeno 2 volte.
Blacklisting: se invii troppe richieste dallo stesso IP, questo IP viene bloccato. Soluzione: utilizzare la rotazione IP; Reacher utilizza Tor.
Richieste HTTP sui moduli di iscrizione
Questo è molto specifico del provider, ma a volte è possibile utilizzare richieste HTTP ben congegnate e analizzare le risposte di queste richieste per vedere se un nome utente è già registrato o meno con questo provider.
Ecco la funzione rilevante da una libreria open source che ho scritto per controllare gli *@yahoo.com
indirizzi utilizzando le richieste HTTP: check-if-email-exist . So che il mio codice è Rust e questo thread è contrassegnato con PHP, ma valgono le stesse idee.
Posta in arrivo piena
Questo potrebbe essere un caso limite, ma quando l'utente ha una casella di posta piena, RCTP TO:
restituirà un 5.1.1 DSN
messaggio di errore che dice che è pieno. Ciò significa che l'account esiste davvero!
Divulgazione
Corro Reacher , un tempo reale verifica email API. Il mio codice è scritto in Rust ed è open source al 100%. Dai un'occhiata se desideri una soluzione più robusta:
Github: https://github.com/amaurymartiny/check-if-email-exists
Con una combinazione di varie tecniche per saltare i cerchi, riesco a verificare circa l'80% delle e-mail controllate dai miei clienti.