begin process at 2010 03 22 05:12:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-Mail / Messagerie

 > VÉRIFIER SI UNE ADRESSE E-MAIL EST VALIDE ET EXISTE RÉELLEMENT

VÉRIFIER SI UNE ADRESSE E-MAIL EST VALIDE ET EXISTE RÉELLEMENT


 Information sur la source

Note :
3,33 / 10 - par 3 personnes
3,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-Mail / Messagerie Niveau :Initié Date de création :10/09/2004 Vu :25 791

Auteur : Magidev

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

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

  • <?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;
  • }
  • }
  • }
  • ?>
<?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";
}
?>


 Sources du même auteur

NOMBRE DE JOURS ENTRE DEUX DATE EN UNE SEULE LIGNE
TUTORIAL : TOUS LES SECRETS DES SESSIONS ET DES COOKIES EN P...
Source avec Zip Source avec une capture APPLICATION : UN CALENDRIER VERTICAL MULTI-UTILISATEUR AVEC ...
ENVOI DE MAIL AVEC PIECE JOINTE
TUTORIAL : PHP CONSTRUIT LES BASES, LES TABLES ET LES CHAMPS...

 Sources de la même categorie

Source avec Zip AJOUT D'UN RENDEZ-VOUS DANS UN CALENDRIER EXCHANGE 2003 par SachaWolf
TRANSFORMER DU TEXTE OU DE L'HTML EN TEXTE CONFORME À LA NOR... par fyav
Source avec Zip FORMULAIRE EMAIL AVEC PIECE JOINTE REPRIS DE LITTLEBUBU par cfndiaye
Source avec Zip Source avec une capture MESSAGERIE INTERNE AVEC FICHIER TEXTE par polly19
Source avec Zip FORMULAIRE EVOIE ET PLUS par florentinul

Commentaires et avis

Commentaire de schtroumpfNormand le 11/09/2004 09:36:26

Bonjour, j'ai juste un petit doute sur cette fonction :
Je lis dans manuelphp.com ca sur : getmxrr()

Note

Cette fonction ne doit pas être utilisée à des fin de vérification d'adresse. Seuls le serveur de mail trouvé dans les enregistrements DNS sont retournés. Suivant la RFC 974 lorsqu'aucun serveur de mail n'est listé, hostname doit être utilisé comme serveur de mail, avec la priorité 0 .
donc ca sous entend quoi ? si le serveur mail est pas listé mais que l'adresse mail est valide on aura tjrs un retour false non ? si j'ai bien compris si je dis n'importe quoi ne pas hésitez a me corriger je suis preneur de toute remarques dans la limite du respect (je suis débutant) merci et sinon cette fonction m'intérese car j'ai développé un module de news letter et j'ai des adresses qui sont fausses merci ;-)) @ ++

Commentaire de Kirua le 11/09/2004 11:04:37

tu ne devrais pas fermer ton fsockopen? je sais que php le fait tt seul comme un grand, mais c'est qd même plus propre. d'autant plus que php évolue vers de plus en plus de propreté/rigueur, alors je ne serais pas étonné que ds une version future ils annoncent qu'ils ne ferment plus les flux eux-même.

Commentaire de pkostov le 13/09/2004 12:53:51

Et aussi, même si on arrive à se connecter au serveur ça ne veux pas forcément dire que la boîte existe ...

Commentaire de olid le 13/09/2004 14:27:34

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

Commentaire de Arkko le 17/10/2004 03:47:36

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

Commentaire de hackademius le 06/04/2005 15:09:14

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 ?

Commentaire de feneste le 29/12/2006 23:40:17

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.

Commentaire de phoenix0007 le 07/12/2009 15:50:31

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 ?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales