El validador perfecto de emails en PHP

Hace pocas semanas intenté darme de alta en un directorio web de la era 1.0 pero útil por temas de posicionamiento. Como suele ocurrir con algunas de estas páginas, cuando das tu dirección de email, después te inflan con publicidad y spam… así que me di de alta con la dirección de email: toni+spamdirectoriox@gmail.com (notese: que el usuario es solo la palabra toni, y este no es mi nombre de usuario real, ya me gustaría!) ya que en gmail (y en otros servicios de corre) lo que escribas a la derecha del mas (+) es ignorado para identificar al usuario pero sí que sirve por ejemplo para filtrado/clasificado de emails. … Pues bien, no me permitia darme de alta porque decia que esa direccion de email no era válida.WTF? Total, que no me pude registrar con ese email. Esta situación ya me dejó mosqueado por si yo podria sufrir el mismo problema en mis webs…

Hoy necesitaba un validador de direcciones de mail en PHP, y recordando la anterior situación, me puse a investigar… y pude comprobar que la función que utilizaba yo para validar los emails pecaba de lo mismo. Realmente yo solo queria evitar los formularios rellenados con el email “notengoemailqueeseso?” y similares… e utilizaba una expresion regular relativamente simple para hacer el chequeo. Así que habia que solucionar esto!

Busqué en Google, y siguiendo enlaces llegué hasta Email Address Validation | AddedBytes que contenia ya un validador bastante bueno, pero que anunciaban que tenían una nueva version alojada en Google Code.

La he probado y ahora sí que parece que tengo el validador perfecto de emails, por lo menos a nivel sintáctico. Lo de probar si el correo existe o no es otro cantar, que dejaré para otra ocasión. Si quieres hacer la prueba del algodón a tu validador, te recomiendo que pruebes con estos emails:

br0k3n
fred_dred@aol.com
.fred_dred@aol.com
fred_dred@aolcom
fred_dred@aol.travel
fred-dred@aol.com
fred.dred@aol.com
fred+dred@aol.com

Si alguno verde te sale como no válido, o si alguno rojo te sale como válido, entonces algo no va bien! ;) Espero que te sea útil la información.

This entry was posted in PHP and tagged , . Bookmark the permalink.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos requeridos, están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>