Cómo realizar la verificación de correo electrónico en Flask
Si estás creando un sitio web (o API) con Flask, a menudo es una buena idea verificar el correo electrónico de tus usuarios Direcciones. El proceso de verificación generalmente implica recuperar información de la dirección de correo electrónico, y No es sencillo.
Lo que lo hace difícil es que no existe una base de datos pública para mapear la dirección de correo electrónico en si esto El proveedor de correo electrónico es lo suficientemente confiable o incluso si este usuario existe en el servicio. La mayoría de las empresas verificar los correos electrónicos del usuario enviando un correo electrónico de confirmación, pero el inconveniente más importante de esto método es que a menudo hacen que los correos electrónicos reboten porque el usuario especificó un correo electrónico inexistente dirección.
La información de la dirección de correo electrónico suele estar compuesta por:
- Validación de formato de una dirección de correo electrónico determinada;
- Listas negras de dominios con correos electrónicos desechables;
- Comprobación de registros DNS para la parte del dominio;
- Comprobación de la conexión SMTP con el servidor;
- Comprobar si los buzones de correo de este dominio están libres.
En resumen, debe realizar muchos pasos para verificar completamente una dirección de correo electrónico.
Hoy, lo guiaremos a través del uso de la biblioteca de desarrollo Flask-EmailVerifier increíblemente simple que creado, lo que hace que realizar solicitudes de verificación de correo electrónico sea muy fácil en Flask.
Crear una cuenta de API de verificación de correo electrónico
Lo primero que tendrás que hacer para usar la biblioteca Flask-EmailVerifier es crear un correo electrónico gratuito Cuenta de API de verificación: https://emailverification.whoisxmlapi.com/signup.
La API de verificación de correo electrónico es uno de los proveedores de datos de direcciones de correo electrónico más grandes y menos costosos. Puede utilizar el servicio de la API de verificación de correo electrónico para realizar 1.000 consultas de verificación de correo electrónico gratuitas cada una mes, o puede pagarles una tarifa plana de $ 49 por mes por 100,000 consultas. Los planes de tarifas adicionales son Disponible aquí.
Una vez que hayas creado e iniciado sesión en tu cuenta de la API de verificación de correo electrónico, tendrás que ver tu productos de la cuenta y copie su clave API: la necesitará más adelante para enviar un correo electrónico Solicitudes de verificación.
Instalación del paquete Flask-EmailVerifier
Ahora que su cuenta está configurada, lo siguiente que debe hacer es instalar Flask-EmailVerifier PyPi biblioteca. Desde la línea de comandos, ejecute el siguiente comando en la raíz del proyecto:
$ pip install Flask-EmailVerifier
Esto descargará e instalará la última versión del paquete Flask-EmailVerifier de PyPi.
Realizar una solicitud de verificación de correo electrónico mediante Flask-EmailVerifier
Ahora que tiene una cuenta y el paquete Flask-EmailVerifier instalados, echemos un vistazo a Algún código que puede ejecutar para buscar varias direcciones de correo electrónico.
Esta es una aplicación Flask simple que solo contiene un único punto de conexión,'/email/<email>'
, que devuelve
una respuesta simple con un resultado de solicitud de API:
from flask import Flask, make_response
from flask_email_verifier import EmailVerifier
from json import dumps, loads
app = Flask(__name__)
# Initialize the extension
verifier = EmailVerifier(app)
@app.route('/email/<email>')
def email(email):
# Retrieve an info for the given email address
email_address_info = verifier.verify(email)
if email_address_info is not None:
data = dumps(loads(email_address_info.json_string), indent=4)
resp = make_response(data, 200)
resp.headers['Content-Type'] = 'application/json'
else:
resp = make_response('None', 404)
return resp
Debe realizar algunos pasos más antes de poder ejecutar nuestro sencillo aplicación.
- Especifique un
'FLASK_APP'
variable de entorno (FLASK_APP=app.py de exportación
) - Especifique un
'EMAIL_VERIFIER_KEY'
con la clave de API (exportar EMAIL_VERIFIER_KEY='tu-clave-api'
)
Coloque este código en el archivo 'app.py'
y ejecútelo, y debería ver una respuesta JSON con la información
sobre test.email@gmail.com cuando visite '/test/test.email@gmail.com'
punto de conexión en su
Explorador.
Si ejecuta este nuevo servidor y visita el archivo '/email/test.email@gmail.com'
URL en su navegador, usted
debería ver una nueva respuesta similar a la siguiente:
{
"emailAddress": "test.email@gmail.com",
"formatCheck": "true",
"smtpCheck": "false",
"dnsCheck": "true",
"freeCheck": "true",
"disposableCheck": "false",
"catchAllCheck": "false",
"mxRecords": [
"alt3.gmail-smtp-in.l.google.com",
"alt1.gmail-smtp-in.l.google.com",
"alt2.gmail-smtp-in.l.google.com",
"alt4.gmail-smtp-in.l.google.com",
"gmail-smtp-in.l.google.com"
],
"audit": {
"auditCreatedDate": "2018-11-14 13:05:09.000 UTC",
"auditUpdatedDate": "2018-11-14 13:05:09.000 UTC"
}
}
Como puede ver, el objeto de datos de respuesta contiene todos los datos del correo electrónico. Bastante bien, ¿no? El objeto de respuesta contiene todo lo que necesita saber sobre una dirección de correo electrónico determinada.
Wrap Up Flask-EmailVerifier
Realizar la verificación de correo electrónico puede ser complicado, pero Flask-EmailVerifier junto con el servicio Email Verification API hace que sea una tarea simple, ¡y barata! Con la nueva biblioteca Flask-EmailVerifier puede gestionar fácilmente la verificación de correo electrónico incluso para los sitios web empresariales más grandes.
Para obtener más información, consulte la biblioteca Flask-EmailVerifier en GitHub, donde puede encontrar todos los documentos e información más detallada: https://github.com/whois-api-llc/flask-email-verification
Si tiene alguna pregunta, ¡escríbanos!