begin process at 2012 02 15 20:21:37
  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 :35 673

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 Source avec une capture FORM TO MAIL AVEC PROTECTION PAR TOKEN ET CAPTCHA CONTRÔLES ... par cod57
Source avec Zip Source avec une capture FORMULAIRE VERS COURRIEL BASIQUE AVEC CONTRÔLE CAPTCHA ANTI ... par cod57
Source avec Zip CHAT EN PHP ET JQUERY par pitchoubrazil
Source avec Zip Source avec une capture FORMULAIRE DE CHOIX MULTI-CONTACT VALIDE XHTML 1.0 TRANSITIO... par aventurier19
Source avec Zip Source avec une capture WEB MESSENGER par EvildarkEurope

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...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 1,326 sec (3)

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