En PHP, la validation des adresses e-mail peut être une tâche complexe. Bien que de simples expressions régulières puissent sembler adéquates, elles ne parviennent souvent pas à gérer les nuances des spécifications et des exceptions RFC.
L'approche la plus simple et la plus fiable consiste à utiliser filter_var( ) fonction. Il utilise une constante de filtre prédéfinie, FILTER_VALIDATE_EMAIL, pour vérifier les adresses e-mail bien formées :
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { // Invalid email address }
Pour renforcer davantage la validation, vous pouvez vérifier l'existence d'un MX enregistrement pour le domaine email :
if (!checkdnsrr($domain, 'MX')) { // Invalid domain }
Même avec ces mesures, il n'y a aucune garantie absolue de l'existence du courrier électronique. Les e-mails de confirmation restent le seul moyen sûr de vérifier les comptes actifs.
Créer une expression régulière complète pour valider les adresses e-mail est presque impossible. Tenter de capturer toutes les adresses valides tout en évitant les faux positifs est une entreprise futile. Même la fonction filter_var() intégrée de PHP présente ses limites dans certains scénarios.
Pour une compréhension plus approfondie de la validation des e-mails, il est recommandé de se plonger dans la RFC spécifications :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!