Vérifier les adresses e-mail sans envoyer d'e-mails
Avec l'avènement du filtrage anti-spam et de la vérification des listes de diffusion, les développeurs ont souvent besoin d'un moyen de valider les adresses e-mail sans envoyer d'e-mails. PHP fournit une solution utilisant SMTP.
Vérification SMTP
SMTP (Simple Mail Transfer Protocol) est utilisé pour envoyer des e-mails. La prise en charge de PHP pour SMTP permet la vérification des e-mails de deux manières :
1. Commande VRFY :
La commande VRFY interroge un serveur pour confirmer si un destinataire de courrier électronique existe. Si le serveur répond avec un DSN (Delivery Status Notification) 2.0.0, l'adresse email est valide.
Exemple :
$socket = fsockopen('server', 25); fwrite($socket, "VRFY user\r\n"); $response = fgets($socket);
2. Commande RCPT TO :
La commande RCPT TO tente d'envoyer un e-mail. Si le destinataire n'existe pas, le serveur répondra avec un DSN 5.1.1.
Exemple :
$socket = fsockopen('server', 25); fwrite($socket, "MAIL FROM:<sender>\r\n"); fwrite($socket, "RCPT TO:<user@domain>\r\n"); $response = fgets($socket);
Limitations
Approche alternative
Malgré les limites de la vérification SMTP, une méthode plus fiable consiste à utiliser une expression régulière pour filtrer les adresses invalides, puis à envoyer un e-mail avec un lien de validation. Cela confirme l'adresse e-mail de l'utilisateur et évite les erreurs typographiques.
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!