Création
d'entreprise

PHP - Vérifier le domaine d'une adresse mail

Dans une adresse email, on trouve deux parties:
utilisateur@domaine

La partie domaine définit un ensemble de machines associées dans lequel on trouvera généralement un serveur qui permet d'envoyer des mails. Dans ce domaine il y a des utilisateurs. Il n'est généralement pas possible d'interroger un serveur pour savoir si l'adresse entière est valide et existe, toutefois on peut interroger un serveur DNS pour savoir si le domaine de l'adresse mail existe bien.

Ce genre de vérification limite au moins un minimum les dégâts lorsqu'un utilisateur vous soumet son adresse email.
Php possède des fonctions pour interroger un serveur DNS, il y en a une qui a l'avantage d'être simple et suffisante pour ce que l'on souhaite faire: checkdnsrr(). Elle prend en argument un nom de domaine et retourne TRUE ou FALSE selon que le domaine existe ou non.

Ainsi pour tester la validité du domaine d'une adresse, il suffit de faire:
$domain = explode('@', $email); 
if (checkdnsrr($domain[1])) 
 echo "Domaine de l'adresse valide"; 

Voici donc une vérification de validité d'une adresse mail qui peut en compléter une autre: la vérification du format de l'adresse.

NOTE: Sous Windows, cette solution ne fonctionne qu'à partir de la version 5.3.0 de php. Pour les versions antérieures, il faut utiliser la bibliothèque PEAR::Net_Dns (bonne chance).
Publié par kilian - Dernière mise à jour le 24 janvier 2012 à 11:37 par dcanl
Ce document intitulé « PHP - Vérifier le domaine d'une adresse mail » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  PHP - Vérifier le domaine d'une adresse mail
  •  PHP - Vérifier le format d'une adresse mail » Fiches pratiques : Il existe plusieurs manières de déterminer si une variable contient une adresse email valide. Ces techniques ne vérifient pas si l'adresse email existe bien mais elles déterminent si la chaine contenue dans une variable respecte bien le format d'une...
  •  Tester addresse mail en PHP (Résolu) » Meilleure réponse: en faisant des recherches sur fsockopen j'ai trouvé ce script qui aprés l'avoir testé me va trés bien ... si ca peut servir :D origine de script avant modification http://fr3.php.net/getmxrr function validate_email($email){...
  •  PHP - Parser du XML » Articles : Introduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de...
  •  Comment créer son propre domaine email@moi.fr (Résolu) » Meilleure réponse: Salut tout le monde ! Arrêtez de vous énerver, de poser 100 fois la même question, le sujet de départ est déjà LA question. Les réponses inutiles aussi c'est bon quoi ! Je suis sûre que quelqu'un a déjà donné la bonne réponse mais avec
  •  Verifier l' email dans un formulaire (Résolu) » Meilleure réponse: Une fonction simple pour tester la validité d'un adresse mail en javascript... Moins compliquée que celle de Kharma, mais largement suffisante à mon avis... Voici un code beaucoup plus efficace à mon avis : function bonmail(mailteste) {
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Parser un fichier binaire en PHP
PHP 5 - Utiliser une url externe avec la fonction include