Vérifier si une adresse e-mail est valide et existe réellement

Soyez le premier à donner votre avis sur cette source.

Snippet vu 40 889 fois - Téléchargée 35 fois

Contenu du snippet

La plus part du temps, on se contente de vérifier si l'adresse contient des caractères devant, un @, des caractères derriere, un point et encore au moins 2 caractères après

Mais les petits malins on vite fait de contourner le systeme en tapant osfsdf@lsdkflsdkf.com

Mais voici un code qui, en plus de vérifier la syntaxe, vérifie auprès d'un serveur, que l'adresse existe belle et bien

Source / Exemple :


<?php
function checkEmail($email) 
{
   if(eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $email)) 
   {
      return FALSE;
   }

   list($Username, $Domain) = split("@",$email);

   if(getmxrr($Domain, $MXHost)) 
   {
      return TRUE;
   }
   else 
   {
      if(fsockopen($Domain, 25, $errno, $errstr, 30)) 
      {
         return TRUE; 
      }
      else 
      {
         return FALSE; 
      }
   }
}
?>

Conclusion :


Pour utiliser cette fonction, il suffit de l'appeler comme ceci

<?php
if(checkEmail(johndoe@example.com) == FALSE)
{
echo "L'adresse E-mail n'est pas valide";
}
else
{
echo "L'adresse E-mail est valide";
}
?>

A voir également

Ajouter un commentaire

Commentaires

phoenix0007
Messages postés
1
Date d'inscription
mercredi 21 septembre 2005
Statut
Membre
Dernière intervention
7 décembre 2009
-
J'ai un problème,
En utilisant ce script, j'ai toujours le message d'erreur "Votre adresse e-mail n'est pas valide..."

J'ai essayé de transformer le code mais pas moyen... :'(

Savez-vous pourquoi ?
feneste
Messages postés
1
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
29 décembre 2006
-
C'est vrai que c'est plus simple de faire un mail de confirmation.

Sinon il ne faut pas oublier de mettre un @ devant fsockopen dans ton script car le serveur affiche une erreur si la fonction retourne false.
hackademius
Messages postés
172
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
24 février 2008
-
bah le plus simple pour verifier qu'une adresse email existe bien , c'est d'envoyer un mail a cette adresse avec un lien dedans, lien qui ménera vers une page php qui enregistrera l'adresse comme valide.
style de mail de confirmation koi , tout simplement , si l'utilisateur a l'habitude de metre vfvfd@vfd.com , bah il aura pas de mails , donc pas de lien , donc pas de compte ou pas d'autre chose , voila tout.
nan ? c'est pas plus simple ?
cs_Arkko
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
-
Je n'ai pas testé mais je crois qu'elle ne fonctionne pas dans tout les cas, prenons exemple des mails fournir pas Ulimit, ils sont du genre : nick@fr.st je ne pense pas que fr.st soit considéré comme un serveur de mail, mais bon: comme j'ai dit, jai pas testé...

tcho Arkka
cs_olid
Messages postés
296
Date d'inscription
lundi 2 septembre 2002
Statut
Membre
Dernière intervention
28 janvier 2008
-
Ce script, meme si pas toujours fiable, est qd meme utile pour des verifs manuelles par le webmaster.

Sinon, la meilleur technique pour les newsletter (marre de gaspiller de BP pour des fausses adresses)... Tu planque un WebBug dans tes newsletters... Si jamais lu (et ou aucune visite sur le site) au bout de 6 mois, direct à la poubelle :op

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.