Comment valider les adresses e-mail dans un script PHP

Adresses email: facile à créer, difficile à taper.

Beaucoup peut aller mal. Beaucoup peut sembler tout faux et être bien. Beaucoup peut regarder bien et ne pas travailler du tout.

Obtenir des adresses e-mail que vous collectez - pour une newsletter, par exemple, ou pour la récupération de mot de passe - pour au moins se conformer aux normes (sinon assurer) est crucial, bien sûr, et extrêmement délicat.

Heureusement, PHP (5 et versions ultérieures) est livré avec un ensemble pratique de fonctions et de filtres qui rendent les tests de validité de l'adresse e-mail simples.

Valider les adresses e-mail dans un script PHP

Pour valider une adresse e-mail pour l'exactitude (ne pas vérifier si l'adresse fonctionne réellement et lire) en PHP:

FILTER_VALIDATE_EMAIL Mises en garde de validation de l'adresse e-mail PHP

Notez que FILTER_VALIDATE_EMAIL va valider les adresses e-mail qui contiennent des domaines et des domaines de premier niveau qui n'existent pas. Si vous voulez éviter cela, vous pouvez tester les noms de domaines de plus de 4 caractères (qui jetteront par erreur ".museum"), ou les noms de domaine de 2 caractères (tous les top niveau domaines) ou l'un des domaines de premier niveau connus (que vous devrez mettre à jour au fur et à mesure que la liste change).

FILTER_VALIDATE_EMAIL refusera par erreur les adresses e-mail avec des noms de domaine longs (64 caractères ou plus) et les adresses e-mail avec des caractères échappés (tels que "moi \" @ example.com "). Pour éviter ces faux positifs , vous pouvez classe comme php-email-address-validation.

FILTER_VALIDATE_EMAIL Exemples de validation d'adresse e-mail

En supposant que $ email_address contient l'adresse à vérifier, vous pouvez essayer sa validité en utilisant:

Vous pouvez également filtrer une adresse e-mail directement à partir du formulaire Web (en supposant que l'adresse e-mail a été saisie dans le champ avec le nom "email"):