Nelle nostre forme utilizziamo una combinazione di tecniche. Mentre i dati cattivi possono ancora passare, le possibilità sono notevolmente ridotte.
Per prima cosa è necessario eseguire una semplice espressione regolare che sia comunemente disponibile, ma accertarsi che sia conforme a RFC. Se ciò non riesce, è utile offrire all'utente un modulo di conferma a questo punto, poiché potrebbero rilevare altri errori durante la risoluzione del problema.
La parte successiva è controllare la parte TLD del dominio. Dal momento che tutti i TLD possono essere conosciuti, questi sono relativamente facili da analizzare per errori di ortografia usando alcuni test regex. Basta tenere un elenco di tutti i TLD attuali in una tabella da qualche parte e aggiornarlo di volta in volta in base alle necessità (attenzione, questo elenco può diventare complesso quando si tratta di TLD internazionali. Se si ha a che fare solo con il traffico USA, le regole sono molto più semplice, ed è un'altra cosa che puoi filtrare. Ad esempio, se stai vendendo un servizio disponibile solo negli Stati Uniti, sarebbe opportuno filtrare le email internazionali al momento dell'invio del modulo. .
Terzo è fare qualcosa di simile a quanto suggerito da @npclaudiu: cercare i comuni errori di ortografia degli host di posta più grandi (gmail, hotmail, yahoo, ecc.) Nella parte del dominio e se viene rilevato un possibile hit, offrire un modulo di conferma per l'utente. (Hai inserito [email protected], intendevi hotmail.com?)
Se superi questi passaggi, puoi eseguire la ricerca MX suggerita da @symcbean.
Infine, se tutto ciò ha esito positivo, esiste un metodo (ma non l'ho ancora testato) per comunicare con l'host SMTP remoto per verificare se la cassetta postale esiste. Stiamo per iniziare a testarlo da soli. Ho trovato l'how-to per tale qui: http://www.webdigi.co.uk/blog/2009/how-to-check-if-an-email-address-exists-without-sending-an-email/
Il problema è che gmial.com potrebbe essere un nome di dominio perfettamente valido. Ti suggerisco di non provare a farlo, ma se vuoi davvero, crea una whitelist di errori ortografici in modo da correggerti automaticamente e non creare regole generiche. – Prescott
Problemi con il tentativo di fare questo è che si potrebbe finire con l'invio di e-mail alla persona sbagliata e fastidiosi potenziali clienti. –
@Prescott, questo sarebbe vero per quasi tutti i correttori ortografici. Spero che non stia cercando un auto-corretto, che ovviamente sarebbe un passo falso. –