Fonction PHP : checkdnsrr


blman
WRInaute accro
WRInaute accro
 
Messages: 3073
Inscription: 5 Sep 2003

Fonction PHP : checkdnsrr

Message le Jeu Déc 14, 2006 15:16

Bonjour,

je suis en train de réfléchir pour utiliser la fonction checkdnsrr en PHP ( http://www.php.net/manual/fr/function.checkdnsrr.php ).

Voila le code qui m'interresse (posté dans les commentaires) :

Code: Tout sélectionner
<?php

function validate_email($email){

   $exp = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";

   if(eregi($exp,$email)){

     if(checkdnsrr(array_pop(explode("@",$email)),"MX")){
       return true;
     }else{
       return false;
     }

   }else{

     return false;

   }   
}

?>


Cette fonction me permettrais d'encore mieux qualifier mes e-mails collectés car pour l'instant je ne vérifie que la syntaxe de l'e-mail, pas sa validité. Je sais que ce n'est pas possible d'en vérifier l'existance mais, déjà vérifier l'existance du domaine serait un plus.

Donc voici mes questions pour ceux qui utilisent déjà cette fonction :
- est-ce vraiment fiable ?
- ne risque-t-on pas de passé à côté d'email qui existent vraiment mais dont le domaine ne serait pas reconnu ?
- est-ce que cette fonction ne ralentie pas trop les programmes PHP (j'imagine que pour certains domaines, la recherche doit prendre un petit moment) ?

Enfin voila, un petit retour d'expérience me serait bien utile...


e-kiwi
Modérateur
Modérateur
 
Messages: 15544
Inscription: 23 Déc 2003

Message le Jeu Déc 14, 2006 15:20

preferes tu envoyer des mails en trop ou en oublier, là est la question :)


cosmixi
WRInaute impliqué
WRInaute impliqué
 
Messages: 743
Inscription: 1 Sep 2006

Message le Jeu Déc 14, 2006 15:29

je suis d'accord avec e-kiwi, envoyer des mails dans le vents n'est pas très dérangeant, mais louper des clients a cause d'un script de vérification, ca c'est chiant !

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Jeu Déc 14, 2006 15:48

oui et puis si pour une raison ou autre un problème dns empêche un client de s'inscrire... ce sera moche

Une autre technique consiste à verifier le présence d'un smtp sur le mx en question

bref commence déjà à interdire les systèmes de mail temporaire tu gagneras en qualité d'adresses email utilisées
une référence pour en bloquer déjà quelqu'un .... ->
http://vtech.canalblog.com/archives/200 ... 08002.html
Dernière édition par bozoleclown le Jeu Déc 14, 2006 15:49, édité 1 fois.


blman
WRInaute accro
WRInaute accro
 
Messages: 3073
Inscription: 5 Sep 2003

Message le Jeu Déc 14, 2006 15:49

En fait, c'est pour un site e-commerce et on envoie des mails de confirmation et de suivi de commande, et vous n'imaginez pas le nombre de gens qui ne connaissent pas leur e-mail, c'est incroyable. Ce que je voudrais faire, c'est qualifier au mieux mes e-mails pour éviter d'avoir à faire à des gens qui viennent gueuler en disant qu'ils n'ont jamais reçu de mail (évidemment, si ils ne nous fournissent pas le bon).

Je regarde bozoleclown, merci

Vous êtes certain qu'en utilisant la fonction checkdnsrr, je risque de refuser des e-mails valides ?


Serious
WRInaute passionné
WRInaute passionné
 
Messages: 2438
Inscription: 21 Nov 2005

Message le Jeu Déc 14, 2006 16:06

blman a écrit:Vous êtes certain qu'en utilisant la fonction checkdnsrr, je risque de refuser des e-mails valides ?

Normalement, non. Sauf s'il y a une panne de DNS qq part.
Personnellement, j'utiliserais checkdnsrr pour faire un controle et si la reponse est negative, demander une confirmation supplementaire.


narayana
WRInaute impliqué
WRInaute impliqué
 
Messages: 835
Inscription: 28 Jan 2005

Message le Jeu Déc 14, 2006 16:11

Serious a écrit:
blman a écrit:Vous êtes certain qu'en utilisant la fonction checkdnsrr, je risque de refuser des e-mails valides ?

Normalement, non. Sauf s'il y a une panne de DNS qq part.
Personnellement, j'utiliserais checkdnsrr pour faire un controle et si la reponse est negative, demander une confirmation supplementaire.


C'est ce que j'applique sur un site internet.
Le problème est que le client ne comprend pas pourquoi il ne peux pas passer à l'étape suivante. Cad à la confirmation de création de son profil.

tu as une technique assez fastidieuse certes, mais qui fonctionne correctement. Il faut que tu simules un envoie de mail à chaque mx et voir la réponse
Code: Tout sélectionner
en mp si besoin de code
Dernière édition par narayana le Lun Déc 18, 2006 8:56, édité 1 fois.

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Jeu Déc 14, 2006 16:13

Serious a écrit:Personnellement, j'utiliserais checkdnsrr pour faire un controle et si la reponse est negative, demander une confirmation supplementaire.

Mon expérience perso à montrer que des fois tu refuses du monde pour "email invalide" même s'il est réellement valide...

Ce que tu peux faire c'est implémenter cette technique de vérification sur une période de temps donné.
Mais à chaque fois qu'un email est invalide, fait un systeme qui log dans un fichier ou dans une base de données ou même qui t'envoie un mail avec ces "emails invalides" , tu pourras ainsi vérifier l'efficience de la méthode en question

et si tu vois rien passer de bizarre, tu peux retirer ce pseudo-controle manuel temporaire.

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Jeu Déc 14, 2006 16:15

narayana a écrit:tu as une technique assez fastidieuse certes, mais qui fonctionne correctement. Il faut que tu simules un envoie de mail à chaque mx et voir la réponse



Alors avec cette technique je garantis les faux positifs.
les serveurs smtp ont tous des implémentations différentes du protocole smtp, sont de plus en plus sensibles au problématiques de spam etc etc etc
Je déconseille


blman
WRInaute accro
WRInaute accro
 
Messages: 3073
Inscription: 5 Sep 2003

Message le Jeu Déc 14, 2006 16:18

héhé, d'accord... A vous lire, je vois que ce n'est pas aussi simple que ce que j'aurais pensé au début...


narayana
WRInaute impliqué
WRInaute impliqué
 
Messages: 835
Inscription: 28 Jan 2005

Message le Jeu Déc 14, 2006 16:20

bozoleclown a écrit:
narayana a écrit:tu as une technique assez fastidieuse certes, mais qui fonctionne correctement. Il faut que tu simules un envoie de mail à chaque mx et voir la réponse



Alors avec cette technique je garantis les faux positifs.
les serveurs smtp ont tous des implémentations différentes du protocole smtp, sont de plus en plus sensibles au problématiques de spam etc etc etc
Je déconseille


En effet, sauf si ton domaine n'est pas considéré comme du spam.


Leonick
WRInaute accro
WRInaute accro
 
Messages: 18812
Inscription: 8 Aoû 2004

Message le Jeu Déc 14, 2006 16:33

bozoleclown a écrit:commence déjà à interdire les systèmes de mail temporaire
En parlant de mail temporaires, qu'en est-il de jetable.org, ça fait plusieurs semaines que je n'arrive plus à m'y connecter :cry:


blman
WRInaute accro
WRInaute accro
 
Messages: 3073
Inscription: 5 Sep 2003

Message le Jeu Déc 14, 2006 16:55

narayana a écrit:
bozoleclown a écrit:
narayana a écrit:tu as une technique assez fastidieuse certes, mais qui fonctionne correctement. Il faut que tu simules un envoie de mail à chaque mx et voir la réponse



Alors avec cette technique je garantis les faux positifs.
les serveurs smtp ont tous des implémentations différentes du protocole smtp, sont de plus en plus sensibles au problématiques de spam etc etc etc
Je déconseille


En effet, sauf si ton domaine n'est pas considéré comme du spam.


On est d'accord. Est-ce que ton domaine risque d'être considéré comme du spam à force d'utiliser ta technique ?


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2199
Inscription: 10 Avr 2005

Message le Jeu Déc 14, 2006 17:00

blman a écrit:En fait, c'est pour un site e-commerce et on envoie des mails de confirmation et de suivi de commande, et vous n'imaginez pas le nombre de gens qui ne connaissent pas leur e-mail, c'est incroyable. Ce que je voudrais faire, c'est qualifier au mieux mes e-mails pour éviter d'avoir à faire à des gens qui viennent gueuler en disant qu'ils n'ont jamais reçu de mail (évidemment, si ils ne nous fournissent pas le bon).

Je regarde bozoleclown, merci

Vous êtes certain qu'en utilisant la fonction checkdnsrr, je risque de refuser des e-mails valides ?


J'ai le même problème mec et j'en dors plus !
Non j'déconne mais c'est très frustrant surtout quand personne ne peux nous guider vers une solution.
Perso j'ai mailé hotmail, laposte, OVH mon registrar, mon hébergeur, caramail, google, etc. Personne ne peux me guider ou veut prendre le temps.

http://www.webrankinfo.com/forums/viewtopic_64322.htm
http://www.webrankinfo.com/forums/viewtopic_58207.htm


narayana
WRInaute impliqué
WRInaute impliqué
 
Messages: 835
Inscription: 28 Jan 2005

Message le Jeu Déc 14, 2006 17:03

Si tu lances bcp de requetes sur les différents mx alors oui.
Si tu fais seulement une vérification de l'émail à un instant T correspondant à la validation du profil, je ne pense pas.

En tout cas sur le site en question cela fonctionne.

Pour être sur derrière, tu peux proposer aux visiteurs de re-vérifier leur adresse email. Si l'adresse email leur semble correcte il ne faut pas re-passer le test de validité lors de la prochaine validation du formulaire.

Fonction PHP : checkdnsrr

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité