Comprobar el dominio de un correo electrónico

Facebooktwittergoogle_pluslinkedinmailFacebooktwittergoogle_pluslinkedinmail

A menudo incluimos en nuestras aplicaciones formularios que, entre otros campos, esperan recibir un correo electrónico. Cuando el usuario envíe el formulario debemos comprobar si el correo es correcto.

En un artículo reciente aprendimos a comprobar que lo que había tecleado el usuario se ajustaba al formato de un correo. En este artículo vamos a aprender, además, a verificar que el dominio existe. Por ejemplo, el usuario podría teclear usuario@hotmaill.com (observa que, al final, por un error tipográfico, el usuario ha tecleado dos veces la letra l). Esta dirección puede parecer correcta, en cuanto a que se ajusta a un formato pre establecido. Sin embargo, el nombre del dominio es incorrecto y, cuando intentemos enviar un correo, se nos producirá un error.

COMPROBANDO EL DOMINIO

Este es el siguiente paso lógico en la comprobación de un correo electrónico: comprobar la existencia del dominio. Para ello vamos a recurrir a una función de PHP llamada checkdnsrr() (puedes ver la documentación oficial en este enlace). Observa el siguiente código:

Como puedes ver, comprobamos dos direcciones de correo electrónico. En el caso de la primera, la función nos devuelve false, porque el dominio hotmaill.com no existe. En la segunda, la función nos devuelve true.

LA COMPROBACIÓN FINAL

Por supuesto, el resultado anterior sólo es relevante si es false, ya que nos está diciendo que el dominio es inexistente. Si es true, ese hecho, por sí sólo, no garantiza que la dirección sea correcta. Aunque el dominio exista, el buzón puede no existir. O quizá el usuario se ha equivocado, por estar distraído. Puede que haya tecleado correctamente usuario@hotmail.com, aunque su dirección real es usuario@gmail.com. Sólo existe una manera de verificar esos errores. Enviarle un correo de comprobación, y no dar por bueno definitivamente el correo hasta recibir respuesta. Aún así, puede que ni siquiera eso funcione. Suponte que el correo es correcto pero, cuando envías el correo de comprobación, este va a parar, digamos, a la bandeja de correo no deseado. Seguramente el usuario no lo verá (la inmensa mayoría de los usuarios no revisan esta bandeja), y no te responderá nunca.

Como ves, es imposible hacer una comprobación exhaustiva, fiable y definitiva al 100%. Pero, al menos, hacemos lo que podemos.

     

Deja un comentario

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