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

Bibliothèque client Email Verification API en langage Python Bibliothèque client d'Email Verification en langage Python

Comment vérifier une adresse e-mail sur Python

Dans cet article, je vais vous expliquer la manière la plus simple possible de vérifier les adresses e-mail et d’améliorer la procédure d’enregistrement des utilisateurs pour votre application Python.

La vérification des e-mails est extrêmement importante. Il est essentiel de s'assurer que les utilisateurs qui s'inscrivent sur votre site Web disposent d'une adresse e-mail valide, et ce pour un certain nombre de raisons :

  • Vous pouvez détecter les fautes de frappe lorsque les utilisateurs saisissent leur adresse e-mail avant de les autoriser à s’inscrire.
  • Il vous permet de rester en contact avec vos utilisateurs : vous pouvez leur envoyer un e-mail lorsque leur carte de crédit expire, lorsque vous leur envoyez des reçus ou lorsque vous avez de nouvelles fonctionnalités disponibles, pour ne citer que quelques raisons.
  • Elle garantit que vos utilisateurs peuvent réinitialiser leur mot de passe en toute sécurité s'ils l'oublient : sans adresse e-mail, il n'y a aucun moyen de valider l'identité d'une personne, si ce n'est par une vérification manuelle et humaine.
  • Il évite aux utilisateurs de s'inscrire sur votre site web avec des adresses e-mail jetables, comme celles de Mailinator. Les utilisateurs qui s'inscrivent à ces services essaient généralement de ne pas vous donner leur véritable e-mail pour des raisons spécifiques telles que l'utilisation abusive de vos fonctionnalités freemium, etc. En vous assurant que vous n'autorisez que les utilisateurs disposant d'une véritable adresse e-mail personnelle ou professionnelle à s'inscrire, vous réduisez le risque d'abus de votre site web.

Cependant, la vérification des e-mails devient complexe lorsqu’il s’agit de décider comment vérifier les adresses e-mail de VOTRE site Web. Chaque site Web a des exigences différentes et, en fonction de ce que fait le vôtre, vous ne voudrez peut-être vérifier l’adresse e-mail d’un utilisateur que d’une ou deux manières spécifiques.

Pour aider à résoudre ce problème, nous avons récemment publié le pack 
de vérification d’e-mail sur le répertoire PyPi.

Cette bibliothèque Python vous permet de vérifier facilement les adresses e-mail de différentes manières et offre une vérification flexible (comme vous le verrez dans un instant).

Alors, sans plus tarder, jetons un coup d’œil à son fonctionnement !

Créer un compte Email Verification

La première chose à faire pour vérifier les adresses e-mail à l'aide de la bibliothèque email-verifier est de créer un compte gratuit pour le service Email Verification API ici : https://emailverification.whoisxmlapi.com/signup

Une fois que vous aurez créé votre compte gratuit, vous pourrez utiliser le service API pour vérifier gratuitement 1 000 adresses e-mail. Si vous souhaitez en faire plus, vous pouvez toujours payer un petit montant.

Installer le pack

Maintenant que votre compte est configuré, la prochaine chose que vous devez faire est d’installer le package Python. À partir de la ligne de commande, exécutez la commande suivante :

            
$ pip install email-verifier
            
            

Cela téléchargera et installera la dernière version du pack de vérification d’e-mail de PyPi.

Vérifier une adresse e-mail

Une fois que vous avez créé un compte et installé le pack, voyons un peu le code que vous pouvez exécuter pour vérifier immédiatement une adresse e-mail.

Voici un petit script, 'verify.py', qui vérifiera une adresse e-mail à l’aide de toutes les méthodes de vérification possibles :

            
from emailverifier import Client from emailverifier import exceptions client = Client('Your-api-key') try : data = client.get(« [email protected] ») # Si vous arrivez ici, cela signifie que le service a renvoyé un code d'erreur HTTP except exceptions.HttpException : pass # Si vous arrivez ici, cela signifie que vous ne pouvez pas vous connecter au service except exceptions.GeneralException : pass # Si vous arrivez ici, cela signifie que vous avez oublié de spécifier la clé API except exceptions. UndefinedVariableException : pass # Si vous arrivez ici, cela signifie que vous avez spécifié un argument # invalide (les options doivent être un dictionnaire) except exceptions.InvalidArgumentException : pass except : pass # Quelque chose d'autre s'est produit : vous avez peut-être appuyé sur CTRL - C # alors que le programme était en cours d'exécution, le noyau est en train de tuer votre processus, ou # quelque chose d'autre. print(data) # Utilisez data.json_string pour obtenir des données brutes en JSON. # Vous pouvez accéder à n'importe quel champ de réponse en tant que propriété de classe en convertissant le nom du champ de « camelCase » à « snake_case » print("Email address : “ + data.email_address) print(”Format : «  + str(data.format_check)) print("DNS : «  + str(data.dns_check)) print("SMTP : “ + str(data.smtp_check)) print(”Catch all : “ + str(data.catch_all_check)) print(”Disposable : «  + str(data.disposable_check)) print("Libre : “ + str(data.free_check)) print(”Dernière date d'audit : » + str(data.audit.audit_updated_date))
            
            

Comme vous pouvez le constater, il n’y a vraiment que trois étapes pour utiliser la bibliothèque :

  • Import 'Client' classe et les exceptions du pack.
  • Créez un 'Client' en lui attribuant la clé API que vous avez créée lors de votre inscription au service API.
  • Exécutez le 'get' en indiquant l'adresse e-mail à vérifier et un dictionnaire contenant les options et leurs valeurs. Voici la liste des options disponibles : validateDNS, validateSMTP, checkCatchAll, checkFree, checkDisposable, _hardRefresh. La description de ces options se trouve sur notre page de documentation.

Les données imprimées dans l’exemple ressembleront à ceci :

            
{
    "emailAddress": "[email protected]",
    "formatCheck": "true",
    "smtpCheck": "true",
    "dnsCheck": "true",
    "freeCheck": "false",
    "disposableCheck": "false",
    "catchAllCheck": "true",
    "mxRecords": [
        "ALT1.ASPMX.L.GOOGLE.com",
        "ALT2.ASPMX.L.GOOGLE.com",
        "ASPMX.L.GOOGLE.com",
        "ASPMX2.GOOGLEMAIL.com",
        "ASPMX3.GOOGLEMAIL.com"
    ],
    "audit": {
        "auditCreatedDate": "2018-04-19 18:12:45.000 UTC",
        "auditUpdatedDate": "2018-04-19 18:12:45.000 UTC"
    }
}

Email address: [email protected]
Format: True
DNS: True
SMTP: True
Catch all: True
Disposable: False
Free: False
Last audit date: 2018-04-19 18:12:45
            
            

Chaque valeur d’objet renvoyée correspond à différents types de vérification :

  • Le catchAllCheck vérifie si cette adresse électronique est une adresse « fourre-tout ». Il s'agit d'un type d'adresse spécial qui peut recevoir des courriels pour un certain nombre d'autres adresses. Ce type d'adresse est courant dans les entreprises : si vous envoyez un courriel à [email protected] et un autre à [email protected], ces deux courriels sont envoyés dans la même boîte de réception.
  • Le disposableCheck vérifie si l’adresse e-mail est jetable ou non (créée via un service comme Mailinator). Cela vous aide à vérifier s’il y a des abus. Cette valeur sera false si l’e-mail n’est pas jetable, et true autrement.
  • Le dnsCheck vérifiez si le domaine dans l’adresse e-mail, par exemple : gmail.com, est un domaine valide. Cette valeur sera OK si le domaine est bon.
  • Le freeCheck vérifiera si l’adresse e-mail provient d’un fournisseur de messagerie gratuit comme Gmail ou pas. Cette valeur sera « false » si l’adresse e-mail n’est pas gratuite, et true autrement.
  • Le formatCheck vous permet de savoir s’il y a des erreurs de syntaxe dans l’e-mail adresse. Il s’agit d’une vérification de base effectuée pour détecter les fautes de frappe simples ou les erreurs majeures. Cette valeur sera false s’il n’y a pas d’erreurs, et true autrement.
    En coulisses, le service API s’occupe de tous ces types de vérifications pour vous un certain nombre de façons intéressantes. J’aborderai cela dans un article à venir.

Customizing Email Verification

Comme je l'ai mentionné précédemment, l'exemple de code ci-dessus vous a montré comment valider une adresse e-mail avec toutes les méthodes de vérification possibles - mais ce n'est peut-être pas ce que vous voulez faire dans tous les cas.

La vérification de l’adresse e-mail peut être lente. Chaque type de vérification prend peu de temps (fractions de seconde), mais lorsque toutes les vérifications sont effectuées, ce temps peut s’additionner.

Si votre site Web n’a besoin de vérifier qu’une adresse e-mail pour s’assurer qu’il peut recevoir des e-mails, par exemple, vous pouvez demander au package de vérification d’e-mails de n’effectuer que cette vérification. La bibliothèque de vérification d’e-mails est totalement flexible : vous pouvez activer ou désactiver tous les types de vérification que vous souhaitez.

Voici comment cela fonctionne :

            
client.get("[email protected]", {
    'validateSMTP': 0,
    '_hardRefresh': 1,
    #. . . .
})
            
            

Lors de l’exécution de la commande 'get' , vous pouvez utiliser un dictionnaire avec des options (comme indiqué ci-dessus) qui ont un impact direct sur les types de vérifications effectuées. N’hésitez pas à les utiliser au besoin.

Amélioration de votre flux d’inscription des utilisateurs

Maintenant que vous avez vu comment vous pouvez vérifier les adresses e-mail à l’aide de la bibliothèque de vérification d’e-mails, vous voudrez peut-être modifier le processus d’inscription de votre site Web pour l’utiliser.

La meilleure façon de le faire est assez simple. Lorsqu’un utilisateur remplit votre formulaire d’inscription et le soumet, vous devez :

  • Recevez les données du formulaire sur votre serveur web
  • Analyser les données d’enregistrement de l’utilisateur, y compris son adresse e-mail
  • Vérifiez immédiatement l’adresse e-mail de l’utilisateur à l’aide de la bibliothèque de vérificateurs d’e-mails.
  • Afficher une erreur à l’utilisateur si son adresse e-mail n’est pas valide, l’incitant à réessayer
  • Si tout est prêt, créez le nouveau compte de l’utilisateur et connectez-le

En suivant ces étapes, vous améliorerez considérablement le flux d’inscription de votre site Web en détectant les fautes de frappe et les erreurs dès le début du processus d’inscription avant qu’il ne soit trop tard pour les corriger.

Résumé

Pour conclure, la vérification des adresses e-mail de vos utilisateurs peut être un moyen simple d’améliorer l'expérience utilisateur pour votre site web.

Si vous devez vérifier une adresse e-mail, le nouveau vérificateur d’e-mail est l’outil parfait, car il gère de nombreux types de validation différents et est extrêmement flexible.

Si vous avez des questions, veuillez nousenvoyer un email!