02Nov

Cómo validar un email con Python con la librería validate_email

Una de las tareas más habituales cuando desarrollamos es la validación de un correo electrónico, debido a un registro de usuario, a una suscripción a Newsletter, una introducción de un comentario por un usuario, etc…

Una de las tareas más habituales cuando desarrollamos es la validación de un correo electrónico, debido a un registro de usuario, a una suscripción a Newsletter, una introducción de un comentario por un usuario, etc…

Una opción es validar el correo usando una expresión regular. Pero no podemos asegurar la existencia de ese correo con este método de validación.

Comprobando estructura y existencia

La librería validate_email nos simplifica esta tarea. Permite comprobar la estructura del correo electrónico así como si existe el servidor SMTP correspondiente, e incluso si existe el correo electrónico a comprobar.

Instalando la librería validate_email

Para poder comprobar el servidor SMTP y la existencia del correo electrónico hemos de instalar también la librería pyDNS. Con el siguiente comando instalamos todas las librerías que necesitamos:

pip install pyDNS validate_email

Abrimos una terminal de Python y comprobamos como funciona. Primero, sin validar el servidor SMTP, una dirección correcta y una dirección incorrecta de correo electrónico:

>>> from validate_email import validate_email
>>> print(validate_email('urodoz@gmail.com'))
True
>>> print(validate_email('urodoz'))
False

Para comprobar si el servidor SMTP existe, ejecutamos la validación con el parámetro check_mx:

es_valido = validate_email('urodoz@gmail.com', check_mx=True)

Para comprobar el servidor SMTP y si la cuenta de correo existe, hemos de hacerlo con el parámetro verify:

es_valido = validate_email('urodoz@gmail.com', verify=True)

Repositorio Github de validate_email: https://github.com/syrusakbary/validate_email

Leave a comment