Frasco | Bibliotecas para desarrolladores | Email Verification API | WhoisXML API

Biblioteca cliente Email Verification de Flask Biblioteca cliente Email Verification de Flask

Cómo ejecutar Email Verification en Flask

Si está creando un sitio web (o API) con Flask, a menudo es una buena idea verificar el correo electrónico de sus usuarios. El proceso de verificación generalmente implica obtener 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 o determinar si el proveedor de correo electrónico es lo suficientemente fiable o incluso si dicho usuario existe dentro del servicio. La mayoría de las empreverifican los correos electrónicos de usuarios 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 proporcionó una dirección de correo inexistente.

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.

Le mostrremos cómo usar la biblioteca de desarrollo Flask-EmailVerifier que hemos creado y que es increíblemente sencilla, lo que hace que realizar solicitudes de verificación de correo electrónico sea muy fácil en Flask.

Crear una cuenta para Email Verification API

Lo primero que tendrá que hacer para usar la biblioteca Flask-EmailVerifier es crear una cuenta gratuita para Email Verification API: https://emailverification.whoisxmlapi.com/signup.

Email Verification API es uno de los proveedores de datos de direcciones de correo electrónico más grandes y menos costosos. Puede utilizar Email Verfication API para realizar 1.000 consultas de verificación de correo electrónico gratuitas cada  mes, o puede pagar una tarifa plana de 49$ por mes por 100.000 consultas. Los planes de tarifas adicionales están disponibles aquí.

Una vez que haya creado e iniciado sesión en su cuenta Email Verification API, vaya a la página de productos de su cuenta y copie su clave API: la necesitará más adelante para las solicitudes de verificación de correos.

Instalar el paquete Flask-EmailVerifier

Ahora que su cuenta está configurada, lo siguiente que debe hacer es instalar la biblioteca Flask-EmailVerifier PyPi. 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 mediante Flask-EmailVerifier

Ahora que tiene una cuenta y el paquete Flask-EmailVerifier instalados, echemos un vistazo a algunos ejemplos de 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 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 nuestra sencilla aplicación.

  • Especifique una variable
    'FLASK_APP' de entorno (
    export FLASK_APP=app.py )
  • Especifique una variable
    'EMAIL_VERIFIER_KEY' de entorno con la clave API ( export EMAIL_VERIFIER_KEY=’your-api-key’)

Coloque este código en el archivo 'app.py' y ejecútelo, y debería ver una respuesta JSON con la información sobre [email protected] cuando visite '/test/[email protected]' en su navegador.

Si ejecuta este nuevo servidor y visita la URL '/email/[email protected]' en su navegador, debería ver una nueva respuesta similar a la siguiente:

            
{
    "emailAddress": "[email protected]",
    "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!