Fonction PHP : checkdnsrr

WRInaute accro
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:
<?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...
 
WRInaute impliqué
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 !
 
WRInaute accro
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 ?
 
WRInaute passionné
blman a dit:
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.
 
WRInaute impliqué
Serious a dit:
blman a dit:
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:
en mp si besoin de code
 
WRInaute impliqué
Serious a dit:
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.
 
WRInaute impliqué
narayana a dit:
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
 
WRInaute impliqué
bozoleclown a dit:
narayana a dit:
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.
 
WRInaute accro
narayana a dit:
bozoleclown a dit:
narayana a dit:
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 ?
 
WRInaute passionné
blman a dit:
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.

https://www.webrankinfo.com/forum/t/postfix-a-propos-desmtp.64322/
https://www.webrankinfo.com/forum/t/problemes-denvoi-de-mail-les-serveurs-mentent.58207/
 
WRInaute impliqué
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.
 
WRInaute accro
d'autant plus qu'un certain nombre de domaines refusent de valider ces requêtes, pour éviter de donner des pistes aux spammeurs qui font des attaques par dictionnaires
 
WRInaute impliqué
et donc il vaut mieux paramétrer un serveur pour qu'il rejete les mails vers les adresses inexistantes ou plutôt renvoyé un message d'erreur pour se prémunir d'attaques ? (je pense que l'un ou l'autre c'est pareil, non ? dans les deux cas on peut voir si l'adresse existe ou pas..)
 
WRInaute accro
ils ne rejettent pas réellement. Ces mails vont direct poubelle.
De toutes façons, renvoyer un mel avec adresse inexistante à son destinataire, il ne reste que peu d'admin qui le font. Les autres ont compris que les mels envoyés depuis des PC zombies ne donnaient évidemment pas la vraie adresse de l'expéditeur. Et donc répondre au "soit disant" expéditeur, ça ne faisait que rajouter des charges réseaux inutilement.
 
WRInaute passionné
bozoleclown a dit:
Serious a dit:
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...
Tu ne refuses personne, tu demandes juste au visiteur de confirmer la validite de son adresse. Ca lui laisse juste une chance de la corriger avant enregistrement.
 
WRInaute accro
Oui effectivement, valider l'adresse est le meilleur moyen et efficace à 100%, je l'utilise d'ailleurs sur un autre site.

Mais dans mon cas précis, c'est à dire la création de compte e-commerce, je ne peux pas me permettre de faire ça. Je préfère qu'on me donne une mauvaise adresse plutôt que de risquer de perdre un client qui n'arrive pas à créer son compte.
 
Discussions similaires
Haut