Page 1 sur 1

Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 15:30
par nestoyeur
Bonjour,

J'ai lus sur le site de php.net qu'il ne fallait pas utiliser la fonction getmxrr afin de vérifier la validité d'une adresse e-mail.

En ce qui me concerne j'aimerais utiliser cette fonction afin de vérifier tout les e-mail de ma base de donné:

Code : Tout sélectionner

function mailCheck($Email) { usleep(10000); list(,$domain ) = split('@',$Email); if (getmxrr($domain, $MXHost)) $ConnectAddress = $MXHost[0]; else $ConnectAddress = $domain; $Connect = @fsockopen($ConnectAddress,25,&$errno,&$errstr); if($Connect) { if(ereg("^220", $Out = fgets($Connect, 1024))) { fputs ($Connect, "HELO {$_SERVER['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", $To) && !ereg ( "^251", $To )) // Adresse rejetée par le serveur // code concerné ... else // Adresse acceptée par le serveur // code concerné ... }else{ // Le serveur n'a pas répondu // code concerné ... } }else{ // Connexion au serveur de messagerie impossible // code concerné ... } }
Mais avant tout, j'aimerais savoir pourquoi php.net signale qu'on ne dois pas l'utiliser ainsi et quel son les risques ?!

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 15:35
par stealth35
J'ai lus sur le site de php.net qu'il ne fallait pas utiliser la fonction getmxrr afin de vérifier la validité d'une adresse e-mail.
ou ca exactement ?

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 15:41
par macgawel
J'ai lus sur le site de php.net qu'il ne fallait pas utiliser la fonction getmxrr afin de vérifier la validité d'une adresse e-mail.
ou ca exactement ?
Euh...non rien :oops:
Ici.
Note: Cette fonction ne doit pas être utilisée à des fin de vérification d'adresses. Seuls les serveurs de mails trouvés dans les enregistrements DNS sont retournés. Suivant la » RFC 2821 lorsque aucun serveur de mail n'est listé, hostname doit être utilisé comme serveur de mail, avec la priorité 0.

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 15:50
par stealth35
oui c'est vrai, sinon y'a ca checkdnsrr mais c'est le même "problème"

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 15:54
par nestoyeur
Mais quel est le problème ? C'est justement ça que je ne comprends pas :/

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 15:57
par stealth35
Mais quel est le problème ? C'est justement ça que je ne comprends pas :/
parce que ca vérifie uniquement le domaine et non pas le mail en lui même.

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 16:00
par nestoyeur
Getmxrr ne vérifie que le domaine certes, mais ma fonction permet de tout vérifier. Ce n'est pas ça le problème et je ne le comprends pas.

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 16:11
par AB
On ne peut pas vérifier si une adresse email est exacte car les serveurs ne vont pas passer leur temps à valider des listes de spam, entre autre.
Ou alors il faudrait que le serveur soit configuré par un inconscient.

Mais on peut affiner pour savoir si l'adresse est cohérente.

Et on utilise souvent checkdnsrr après FILTER_VALIDATE_EMAIL pour confirmer un peu plus que l'adresse mail ressemble à quelque chose d'existant.

Pour le reste ta fonction qui vérifie tout te renverras pratiquement tout le temps des email invalides, car les serveurs ne renverront pas toutes les données que tu leur demande (cf ma première ligne).

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 16:22
par nestoyeur
Ok donc le risque c'est de ne pas avoir de réponse ? Car j'ai testé avec 3 e-mail sur les domaine gmail.com, hotmail.fr et un dernier hébergé par OVH. La réponse est exacte, par exemple pour:

[email protected] // je récupére true
[email protected] // je récupére false

et ainsi de suite pour les deux autres domaines. Donc jusque ici tout fonctionne.

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 16:34
par stealth35
oui parce de ton coté tout roule, tu n'utilises pas getmxrr pour verifie ton mail, mais pour voir si le domaine existe, ensuite avec ton socket tu vérifies si il existe, c'est la méthode a adopté. Dans la doc c'est dans le cas ou tu te dis :
DOMAINE EXITE alors EMAIL aussi

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 16:49
par nestoyeur
Pour être un peux plus franc, j'aimerais savoir si cette méthode entraine le risque de finir sur des blackliste en tant que spammer ...

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 16:51
par stealth35
Pour être un peux plus franc, j'aimerais savoir si cette méthode entraine le risque de finir sur des blackliste en tant que spammer ...
je pense pas, tu fais uniquement une vérification

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 17:00
par nestoyeur
et si je lance cinq vérif' sur quattre adresse non valide pour une valide, ça change surement la donne ?

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 07 avr. 2010, 17:56
par AB
Si le serveur analyse ton comportement comme étant celui d'un spameur tu prends le risque qu'il te considère comme tel ...

Re: Vérification d'adresse mail, getmxrr et function perso...

Posté : 08 avr. 2010, 12:53
par telnes
hello

pour q'un mail soit valide il faut le faire valider par l'utilisateur, je pense que ca reste la "meilleur" méthode

++