Flask | Bibliothèques pour développeurs | Email Verification API | WhoisXML API

Bibliothèque client Flask pour la vérification des e-mails Bibliothèque client Flask pour la vérification des e-mails

Comment effectuer la vérification des e-mails dans Flask

Si vous créez un site Web (ou une API) à l’aide de Flask, il est souvent judicieux de vérifier les adresses e-mail de vos utilisateurs. Le processus de vérification implique généralement de récupérer les informations relatives à l'adresse e-mail, et ce n'est pas simple.

Ce qui complique les choses, c'est qu'il n'existe pas de base de données publique permettant de déterminer si l'adresse e-mail est suffisamment fiable ou même si l'utilisateur existe sur le service. La plupart des entreprises vérifient les e-mails des utilisateurs en envoyant un e-mail de confirmation, mais l'inconvénient le plus important de cette méthode est que les e-mails sont souvent rejetés parce que l'utilisateur a indiqué une adresse e-mail inexistante.

Les informations sur l’adresse e-mail sont généralement composées de :

  • Validation du format d’une adresse e-mail donnée ;
  • Listes noires de domaines avec des e-mails jetables ;
  • Vérification des enregistrements DNS pour la partie domaine ;
  • Vérification de la connexion SMTP au serveur ;
  • Vérifier si les boîtes aux lettres de ce domaine sont libres.

En bref, vous devez prendre de nombreuses mesures pour vérifier pleinement une adresse e-mail.

Aujourd’hui, nous allons vous guider à travers l’utilisation de la bibliothèque de développement incroyablement simple Flask-EmailVerifier que nous avons créé, et qui facilite l’exécution des demandes de vérification d’e-mail dans Flask.

Créer un compte Email Verification API

La première chose que vous devrez faire pour utiliser la bibliothèque Flask-EmailVerifier est d’aller créer un Compte Email Verification API gratuit : https://emailverification.whoisxmlapi.com/signup.

Email Verification API est l'un des fournisseurs de données d'adresses e-mail les plus importants et les moins chers. Vous pouvez utiliser le service Email Verification API pour effectuer 1 000 requêtes gratuites de vérification d'e-mails chaque mois, ou vous pouvez leur payer un forfait de 49 $ par mois pour 100 000 requêtes. Des plans tarifaires supplémentaires sont disponibles ici.

Une fois que vous avez créé et que vous vous êtes enregistré dans votre compte Email Verification API, vous devez afficher la page des produits de votre compte et copier votre clé API - vous en aurez besoin plus tard pour effectuer des demandes de vérification d'e-mail.

Installer le pack Flask-EmailVerifier

Maintenant que votre compte est configuré, la prochaine chose à faire est d'installer la bibliothèque PyPi Flask-EmailVerifier. À partir de la ligne de commande, exécutez la commande suivante à la racine de votre projet :

            
$ pip install Flask-EmailVerifier
            
            

Cela téléchargera et installera la dernière version du pack Flask-EmailVerifier de PyPi.

Effectuer une demande de vérification d’e-mail à l’aide de Flask-EmailVerifier

Maintenant que vous avez un compte et que le pack Flask-EmailVerifier est installé, voyons un peu le code que vous pouvez exécuter pour vérifier diverses adresses e-mail.

Voici une application Flask simple qui ne contient qu’un seul endpoint,'/email/<email>', qui renvoie une réponse simple avec le résultat d’une requête 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
            
            

Vous devez prendre quelques mesures supplémentaires avant de pouvoir exécuter notre application.

  • Spécifiez un 'FLASK_APP' variable d’environnement ( export FLASK_APP=app.py)
  • Spécifiez un 'EMAIL_VERIFIER_KEY' La variable d'environnement avec la clé de l'API ( export EMAIL_VERIFIER_KEY=’your-api-key’)

Mettez ce code dans le fichier 'app.py' et exécutez-le, et vous devriez voir une réponse JSON avec l'info sur [email protected] lorsque vous visitez la page /test/[email protected] dans votre Navigateur.

Si vous exécutez ce nouveau serveur et que vous vous rendez sur le /email/[email protected] URL dans votre navigateur, vous devrait voir une nouvelle réponse qui ressemble à ceci :

            
{
    "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"
    }
}
            
            

Comme vous pouvez le voir, l'objet de données de la réponse contient toutes les données du courrier électronique ! Plutôt chouette, n'est-ce pas ? L'objet réponse contient tout ce que vous devez savoir sur une adresse électronique donnée.

Wrap Up Flask-EmailVerifier

Effectuer une vérification d’e-mail peut être délicat, mais Flask-EmailVerifier , en conjonction avec le service Email Verification API , rend cela simple - et bon marché ! En utilisant la nouvelle bibliothèque Flask-EmailVerifier Vous pouvez facilement créer et gérer la vérification des e-mails, même pour les plus grands sites d’entreprise.

Pour en savoir plus, consultez la bibliothèque Flask-EmailVerifier sur GitHub où vous pouvez trouver tous les documents et des informations plus approfondies : https://github.com/whois-api-llc/flask-email-verification

Si vous avez des questions, veuillez nousenvoyer un email!