En nuestros formularios estamos utilizando una combinación de técnicas. Mientras que los datos malos todavía pueden pasar, las posibilidades son muy reducidas.
Lo primero es hacer una expresión regular de formato que esté comúnmente disponible, solo asegúrese de que sea compatible con RFC. Si esto falla, es bueno ofrecer al usuario un formulario de confirmación en este punto, ya que pueden detectar otros errores mientras resuelve este problema.
La siguiente parte es verificar la parte del dominio TLD. Dado que todos los TLD se pueden conocer, estos son relativamente fáciles de detectar errores ortográficos utilizando algunas pruebas de expresiones regulares. Simplemente mantenga una lista de todos los TLD actuales en una tabla en algún lugar y actualícela periódicamente según sea necesario (tenga en cuenta que esta lista puede ser compleja cuando se trata de TLD internacionales. Si solo se trata del tráfico de EE. UU., Las reglas son muchas más fácil, y eso es algo más que puede filtrar. Por ejemplo, si está vendiendo un servicio solo disponible en los EE. UU., tendría sentido filtrar los correos electrónicos internacionales en el momento del envío del formulario. Somos, entonces esto nos funciona) .
Tercero es hacer algo como lo que sugirió @npclaudiu: busque faltas de ortografía comunes de los hosts de correo de gran nombre (gmail, hotmail, yahoo, etc.) en la parte del dominio y si se detecta un posible impacto, ofrezca un formulario de confirmación para el usuario. (Usted ingresó a [email protected], ¿se refirió a hotmail.com?)
Si sigue estos pasos, puede hacer la búsqueda de MX sugerida por @symcbean.
Finalmente, si todo eso tiene éxito, hay un método (pero aún no lo he probado) para comunicarse con el host SMTP remoto para ver si existe el buzón. Estamos a punto de comenzar a probar esto nosotros mismos. He encontrado el cómo-a para tal aquí: http://www.webdigi.co.uk/blog/2009/how-to-check-if-an-email-address-exists-without-sending-an-email/
El problema es que gmial.com podría ser un nombre de dominio perfectamente válido. Sugeriría que no intentes hacer esto, pero si realmente lo deseas, crea una lista blanca de errores ortográficos para autocorregir y no crees reglas genéricas. – Prescott
Problemas para tratar de hacer esto es que podría terminar enviando correos electrónicos a la persona equivocada y clientes potenciales molestos. –
@Prescott, eso sería cierto para casi cualquier corrector ortográfico. Espero que no esté buscando una autocorrección, lo que por supuesto sería un paso en falso. –