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

Bibliothèque client d'Email Verification en langage PHP Bibliothèque client d'Email Verification en langage PHP

Comment vérifier une adresse e-mail en PHP

Dans cet article, je vais vous expliquer la meilleure façon possible de vérifier les adresses e-mail et améliorer la procédure d’enregistrement des utilisateurs pour votre site Web PHP.

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 et les inviter à les corriger avant d’autoriser l’inscription.
  • 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, lorsque vous avez de nouvelles fonctionnalités disponibles, etc.
  • Il garantit que vos utilisateurs peuvent réinitialiser leur mot de passe en toute sécurité s’ils l’oublient : sans e-mail Il n’y a aucun moyen de valider l’identité d’une personne en dehors de la vérification manuelle et humaine.
  • Il empêche les utilisateurs de s’inscrire à votre site Web avec des adresses e-mail jetables, comme celles-ci 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 veillant à n'autoriser à s'inscrire que les utilisateurs disposant d'une véritable adresse e-mail personnelle ou professionnelle, vous réduisez le risque d'abus de votre site web.

Là où la vérification des e-mails devient complexe, cependant, c’est de décider comment vérifier les adresses e-mail de VOS site internet. Chaque site Web a des exigences différentes et, en fonction de ce que fait votre site Web, vous pouvez souhaitez uniquement vérifier l’adresse e-mail d’un utilisateur d’une ou deux manières spécifiques.

Pour aider à résoudre ce problème, nous avons récemment publié la bibliothèque Packagist, qui permet de vérifier les e-mails 

Cette bibliothèque PHP 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 PHP. De la, exécutez la commande suivante :

            
$ composer require whois-api/email-verifier
            
            

Cela téléchargera et installera la dernière version du vérificateur d’e-mails de Packagist.

Vérifier une adresse e-mail

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

Voici un petit script, verify.php, qui vérifiera une adresse e-mail en utilisant toutes les Méthodes de vérification :

            
<?php

require_once  __DIR__ . '/vendor/autoload.php';
use WhoisApi\EmailVerifier\Builders\ClientBuilder;
$builder = new ClientBuilder();
$client = $builder->build('Your API key');
try {
    /* Without refreshing */
    echo print_r($client->get('[email protected]', ['_hardRefresh']), true);
    echo PHP_EOL;
} catch (\Throwable $exception) {
    echo "Error: {$exception->getCode()} {$exception->getMessage()}" . PHP_EOL;
}
            
            

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

  • Importer le fichier autoload du compositeur et un constructeur client de la bibliothèque.
  • Créez un ApiClient en lui donnant la clé API que vous avez créée lors de votre inscription pour le service API.
  • Exécutez le GET en indiquant l'adresse e-mail à vérifier, ainsi qu'un tableau contenant les options à désactiver. Toutes les options disponibles sont activées par défaut. Voici la liste des options disponibles : validateDNS, validateSMTP, checkCatchAll, checkFree, checkDisposable, _hardRefresh. La description de ces options se trouve sur notre documentation page.

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

            
WhoisApi\EmailVerifier\Models\Response Object ( [emailAddress] => [email protected] [formatCheck] => 1 [smtpCheck] => 1 [dnsCheck] => 1 [freeCheck] => [disposableCheck] => [catchAllCheck] => 1 [mxRecords] => Array ( [0] => ALT1.ASPMX.L.GOOGLE.com [1] => ALT2.ASPMX.L.GOOGLE.com [2] => ASPMX.L.GOOGLE.com [3] => ASPMX2.GOOGLEMAIL.com [4] => ASPMX3.GOOGLEMAIL.com ) [audit] => [auditModel:protected] => WhoisApi\EmailVerifier\Models\Audit Object ( [auditCreatedDate] => Carbon\Carbon Object ( [date] => 2018-09-21 15:52:51.000000 [timezone_type] => 3 [timezone] => UTC ) [auditUpdatedDate] => Carbon\Carbon Object ( [date] => 2018-09-21 15:52:51.000000 [timezone_type] => 3 [timezone] => UTC ) ) )
            
            

disposableCheck et freeCheck avoir une valeur invisible false (il s’agit d’un type booléen).

Chaque valeur d’objet renvoyée correspond à un type différent 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érifie 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 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 pas toujours ce que vous voulez faire.

La vérification de l’adresse e-mail peut être lente. Chaque type de vérification prend peu de temps (fractions de une 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 électronique pour s'assurer qu'il peut recevoir des e-mails, par exemple, vous pouvez paramétrer le pack email-verifier pour qu'il n'effectue que cette vérification. La bibliothèque email-verifier est incroyablement flexible : vous pouvez activer ou désactiver tous les types de vérification que vous souhaitez.

Voici comment cela fonctionne :

            
$client->get('[email protected]', [ '_hardRefresh', 'validateSMTP', ... ] )
            
            

Lors de l’exécution de la commande GET méthode, vous pouvez passer dans un tableau d’options désactivées (comme indiqué ci-dessus) qui avoir 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érificateurs d’e-mails, vous allez Vous voudrez probablement 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 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 attrapant fautes de frappe et d’erreurs de l’utilisateur dès le début de son processus d’inscription avant qu’il ne soit trop tard pour être corrigé.

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!