Comment vérifier une adresse e-mail à l’aide de Node.js
Dans cet article, je vais vous expliquer la meilleure façon possible de vérifier les adresses e-mail et améliorer le processus d’enregistrement des utilisateurs pour votre site Web Node.
La vérification des e-mails est extrêmement importante. S’assurer que les utilisateurs qui s’inscrivent à votre site zeb ont une adresse e-mail valide est précieuse pour un certain nombre de raisons :
- Vous pouvez détecter les fautes de frappe de l’utilisateur lorsqu’il saisit son adresse e-mail et l’inviter à les corriger avant de leur permettre de 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 arrive à expiration, lorsque vous leur envoyez des reçus, lorsque vous avez de nouvelles fonctionnalités disponibles, etc.
- Elle permet à vos utilisateurs de 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 en dehors d'une vérification manuelle et humaine.
- Il empêche les utilisateurs de s’inscrire à 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 une raison spécifique : peut-être veulent-ils abuser 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.
Mais là où la vérification des e-mails devient complexe, c'est lorsqu'il s'agit de décider comment vérifier les adresses e-mail pour VOTRE site web. Chaque site web a des exigences différentes et, en fonction de ce qu'il fait, il se peut que vous ne souhaitiez vérifier l'adresse e-mail d'un utilisateur que d'une ou deux façons spécifiques.
Pour aider à résoudre ce problème, nous avons récemment publié le vérificateur d’e-mails Bibliothèque NPM.
Cette bibliothèque Node 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 avez créé votre compte gratuit, vous pourrez utiliser le service API pour vérifier 1 000 e-mails adresses gratuitement. Si vous souhaitez en faire plus, vous pouvez toujours payer un très petit montant.
Installer le pack
Maintenant que votre compte est configuré, la prochaine chose que vous devez faire est d’installer le package Node. De la , exécutez la commande suivante :
$ npm install email-verifier
Cela téléchargera et installera la dernière version du vérificateur d’e-mails de NPM.
Vérifier une adresse e-mail
Maintenant que vous avez à la fois un compte et le package installés, jetons un coup d’œil à un code que vous pouvez exécuter pour vérifier immédiatement une adresse e-mail.
Voici un petit script, 'verify.js', qui vérifiera une adresse e-mail en utilisant tous les moyens possibles. Méthodes de vérification :
const Verifier = require("email-verifier");
let verifier = new Verifier("your_email_verification_api_key");
verifier.verify("r@rdegges.com", (err, data) => {
if (err) throw err;
console.log(data);
});
Comme vous pouvez le constater, il n’y a vraiment que trois étapes pour utiliser la bibliothèque :
- Importez la bibliothèque.
- Créez un objet « vérificateur » en lui attribuant la clé API que vous avez créée lors de votre signature pour le service API.
- Exécutez la méthode « verify » en indiquant l'adresse e-mail à vérifier et une fonction de rappel. Cette fonction de rappel sera exécutée lorsque la vérification sera terminée.
Les données renvoyées dans le rappel ressembleront à ceci :
{
"catchAll": "false",
"disposable": "false",
"dns": "OK",
"emailAddress": "r@rdegges.com",
"free": "false",
"mxs": [ "mail.protonmail.ch" ],
"smtp": "OK",
"validFormat": "OK"
}
Chaque valeur JSON renvoyée correspond à différents types de vérification :
- La vérification "catchAll" vous indique si cette adresse électronique est une adresse "catch-all". 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 à test@hi.com et un autre à test2@hi.com, ces deux courriels seront envoyés dans la même boîte de réception.
- La case « disposable » indique si l'adresse e-mail est jetable (créée par un service tel que Mailinator) ou non. Cela vous permet de vérifier s'il n'y a pas d'abus. Cette valeur sera « false » si l'e-mail n'est pas jetable, et « true » dans le cas contraire.
- La vérification 'dns’assurera que le domaine dans l’adresse e-mail, par exemple : gmail.com, est un domaine valide. Cette valeur sera 'OK' si le domaine est bon.
- L’option « gratuit » vérifiera si l’adresse e-mail provient d’un fournisseur de messagerie gratuit comme Gmail ou non. Cette valeur sera « false » si l’adresse e-mail n’est pas libre, et « true » dans le cas contraire.
- La vérification 'validFormat' vous permet de savoir s’il y a des erreurs de syntaxe dans l’adresse e-mail. Il s’agit d’un
Vérification de base qui est effectuée pour détecter les fautes de frappe simples ou les erreurs majeures. Cette valeur sera 'false' si
Il n’y a pas d’erreurs, et 'true' sinon.
En coulisses, le service API gère tous ces types de vérifications pour vous dans un nombre de façons intéressantes. J’aborderai ce sujet dans un prochain article.
Personnalisation de la vérification des e-mails
Comme je l’ai déjà mentionné, l’exemple de code ci-dessus vous a montré comment valider une adresse e-mail avec tous 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 deuxièmement), mais lorsque toutes les vérifications sont effectuées, ce temps peut s’additionner.
Si votre site Web n’a besoin de vérifier une adresse e-mail que pour s’assurer qu’il peut recevoir des e-mails, par exemple, vous peut indiquer au paquet de vérification d’e-mail d’effectuer uniquement cette vérification. La bibliothèque de vérification d’e-mails est entièrement Flexible : vous pouvez activer ou désactiver tous les types de vérification que vous souhaitez.
Voici comment cela fonctionne :
const Verifier = require("email-verifier");
let verifier = new Verifier("your_email_verification_api_key", {
checkCatchAll: false,
checkDisposable: false,
checkFree: false,
validateDNS: false,
validateSMTP: false
});
Lors de la création de l’objet 'Verifier', vous pouvez passer des options supplémentaires (comme indiqué ci-dessus) qui directement Impacter les types de vérifications effectuées. N’hésitez pas à les utiliser au besoin.
- NOTE: Une fois que vous avez créé l’objet 'Verifier', chaque fois que vous appelez la méthode 'verify' pour vérifier une adresse e-mail, les options spécifiées lors de la création du « Vérificateur » resteront dans effet.
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 allez probablement souhaitez modifier le processus d’inscription à 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 soumettre, 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 capturant l’utilisateur fautes de frappe et 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 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, n’hésitez pas à nous envoyer un e-mail !