Soyez le premier à donner votre avis sur cette source.
Snippet vu 7 925 fois - Téléchargée 29 fois
function CheckMail($Email) { global $HTTP_HOST; $Return = array(); if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $Email)) { // test si le format de l'email est bon $Return[0]=false; $Return[1]="$Email a un format non valide."; return $Return; } list($Username, $Domain) = split("@", $Email); // Split le nom et le domaine if (checkdnsrr($Domain, "MX")) { //verifie existance serveur de mail sur ce domaine if (getmxrr($Domain, $MXHost)) { // Si enregitrement MX , on le met comme adresse de connexion for ($i = 0,$j = 1; $i < count ($MXHost); $i++,$j++) { echo "Result($j) - $MXHost[$i]<BR>"; } } $ConnectAddress = $MXHost[0]; } else { // Si pas d'enregistrement MX, on met simplement le domaine comme adresse de connexion $ConnectAddress = $Domain; } $Connect = fsockopen($ConnectAddress, 25); if ($Connect) { // Si socket ouvert if (ereg("^220", $Out = fgets($Connect, 1024))) { fputs($Connect, "HELO $HTTP_HOST\r\n"); $Out = fgets($Connect, 1024); fputs($Connect, "MAIL FROM: <{$Email}>\r\n"); $From = fgets($Connect, 1024); fputs($Connect, "RCPT TO: <{$Email}>\r\n"); $To = fgets($Connect, 1024); fputs($Connect, "QUIT\r\n"); fclose($Connect); if (!ereg ("^250", $From) || !ereg ("^250", $To)) { // Si adresse n'existe pas $Return[0]=false; $Return[1]="$Email n'existe pas sur le serveur mail."; return $Return; } } } else { // Si la connection echoue $Return[0] = false; $Return[1] = "Impossible de se connecter au serveur mail ($ConnectAddress)."; return $Return; } // Si tout est OK $Return[0]=true; $Return[1]="$Email EXISTE BIEN."; return $Return; }
expression reguliere, verification du server SMTP (port 25 et 110)
mais le plus fiable est comme l'a precisé Matrey l'envoie d'un mail contenant une image et un lien ( l'image est un bonus car elle renvoie sur script en php, cependant elle n'est pas accepté par tous les services Mail ), pour valider son adresse.
Avec toutes ses données je remplie ma table contact avec un flag (un etat) qui me sert pour envoyer mes mails.
Tu dis avoir un script perso qui fonctionnerait du tonnerre... on pourrait en profiter? j'ai regardé ton profil, tu n'a rien publier sur aucun des forum...
J'ai comparé les résultats trouvés sur une centaine d'adresses avec les résultats donnés par le logiciel "Fast Email Verifier Professionnal" et les résultats sont malheureusement assez différents.
FEVP n'accepte pas les adresses de Tiscali mais semble bien fonctionner avec les autres, ton script me donne une dizaine d'adresses qui n'existeraient pas alors qu'elles sont données valides avec FEVP ! De plus, une de mes adresses invalide est bien signalée par FEVP mais pas par ton script.
Globalement j'aurais donc tendance a douter de la fiabilité du script !!!
Perso j'ai un script qui vérifie toute une liste d'emails et le résultat est bien plus explicite que adresse correcte ou non, car les choses sont pas si simples que ça ;-)
J'en ai testé un en Delphi et le résultat est impeccable.
Il vérifie le domaine, bien sûr, et aussi l'alias.
Ca reste assez lourd à mettre en place mais c'est un moyen de subsistution au mail de confirmation :)
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.