Webmaster Hub: Script email valide - Webmaster Hub

Voir le contenu

Page 1 sur 1
  • Vous ne pouvez pas créer de sujet
  • Vous ne pouvez pas répondre au sujet

Script email valide Noter le sujet : -----

#1 Utilisateur non-connecté   amateur44 

  • Voir le blog
  • Groupe : Membre
  • Messages : 7
  • Inscrit : 15-janvier 08
  • Société:VR Publications

Icône de message  Posté 10 juin 2008 - 10:32

Bonjour,

Connaissez-vous un javascript qui puisse éviter de faire passer les adresses du genre : hello_AT_yahoo9.com ? ou tout autre type d'adresse mail erronée ?

Merci,

Ce message a été modifié par amateur44 : 10 juin 2008 - 10:33

0

#2 Utilisateur non-connecté   captain_torche 

  • Danacol / Orangina rouge
  • Icône
  • Voir le blog
  • Groupe : Admin
  • Messages : 5 742
  • Inscrit : 08-février 06
  • Genre:Homme
  • Localisation:rue des Landes, Chatou

Posté 10 juin 2008 - 10:43

Techniquement, cette adresse est valide : rien n'empêche à un site de s'appeler yahoo9.com (mais ils auraient des problèmes, certes).
Il faudrait pour ton script, posséder une base de données de tous les noms de domaines existants, pour pouvoir valider un email. C'est bien évidemment impossible.

Ce que tu peux faire, par contre, c'est envoyer un email à la personne pour qu'il puisse valider son compte. Comme cela tu es sûr que l'adresse e-mail existe.
0

#3 Utilisateur non-connecté   mjouan 

  • Groupe : Inactif
  • Messages : 71
  • Inscrit : 27-mai 08

Posté 10 juin 2008 - 16:52

Tu peux, en plus d'une vérification par expression régulière, vérifier la présence de MX sur le domaine de l'adresse email fournie.

Le script suivant (source: http://www.commentca...sse-mail-en-php ), vérifie en plus de cela que le serveur de mail est bien accessible, selon moi il va un peu trop loin car le serveur peut être temporairement in oignable sans pour autant que l'adresse soit erronée.

function checkEmail($email) {
 // checks proper syntax
 if(preg_match("/^( [a-zA-Z0-9] )+( [a-zA-Z0-9\._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9\._-] +)+$/" , $email)) {
  // gets domain name
  list($username,$domain)=split('@',$email);
  // checks for if MX records in the DNS
  if(!customCheckDnsrr($domain)) {
   return false;
  }
  // attempts a socket connection to mail server
  if(!fsockopen($domain,25,$errno,$errstr,30)) {
   return false;
  }
  return true;
 }
 return false;
}

function customCheckDnsrr($host,$recType='') {
 if(!empty($host)) {
  if($recType=='') $recType="MX";
  exec("nslookup -type=$recType $host",$output);
  foreach($output as $line) {
   if(preg_match("/^$host/", $line)) {
	return true;
   }
  }
  return false;
 }
 return false;
}


Marc

#4 Utilisateur non-connecté   mjouan 

  • Groupe : Inactif
  • Messages : 71
  • Inscrit : 27-mai 08

Posté 10 juin 2008 - 17:07

Cf. egalement les scripts dans les exemples d'utilisation de la fonction php getmxrr
http://fr.php.net/getmxrr

#5 Utilisateur non-connecté   Dadou 

  • Light or Dark Side ?
  • Icône
  • Voir le blog
  • Groupe : Fondateur
  • Messages : 2 649
  • Inscrit : 29-avril 04
  • Genre:Homme
  • Localisation:13 rue Offenbach, Barentin

Posté 10 juin 2008 - 21:07

Tester les mx n'est pas la bonne solution, les serveurs de messageries sont de plus souvent installés en mode silencieux, donc même si l'adresse existe, ils ne répondrons pas, et ce pour limiter le spam
Non ! Pas différent, juste différent dans ton esprit. Tu dois désapprendre tout ce que tu as appris. Non n'essaie pas, fais ou ne le fais pas, mais il n'y a pas d'essai.


- Graine de Crapule : Venez trouver votre bonheur parmi des articles originaux qui ne manquent pas de style !
0

#6 Utilisateur non-connecté   mjouan 

  • Groupe : Inactif
  • Messages : 71
  • Inscrit : 27-mai 08

Posté 11 juin 2008 - 09:53

Voir le messageDadou, le mardi 10 juin 2008 à 21:07, a dit :

Tester les mx n'est pas la bonne solution, les serveurs de messageries sont de plus souvent installés en mode silencieux, donc même si l'adresse existe, ils ne répondrons pas, et ce pour limiter le spam


Pardon ! Qu'est ce que vous voulez dire par "mode silencieux" !!!
Je suis désolé de vous contre dire mais s'il n'y a pas de MX c'est que l'adresse n'est pas bonne ça c'est une certitude. L'inverse par contre n'est pas vrai, c'est pas parce qu'il y a un MX que l'adresse est forcement légitime.

D'autre part, on ne parle pas de contrôler les serveurs de mail, mais simplement de vérifier si les DNS du domaine a testé sont configurés pour accueillir des emails.

Marc

#7 Utilisateur non-connecté   Dadou 

  • Light or Dark Side ?
  • Icône
  • Voir le blog
  • Groupe : Fondateur
  • Messages : 2 649
  • Inscrit : 29-avril 04
  • Genre:Homme
  • Localisation:13 rue Offenbach, Barentin

Posté 11 juin 2008 - 10:16

A oui autant pour moi, j'ai lu de travers, je n'avais pas fait attention que le test s'arrêtait à la configuration du domaine
Non ! Pas différent, juste différent dans ton esprit. Tu dois désapprendre tout ce que tu as appris. Non n'essaie pas, fais ou ne le fais pas, mais il n'y a pas d'essai.


- Graine de Crapule : Venez trouver votre bonheur parmi des articles originaux qui ne manquent pas de style !
0

Page 1 sur 1
  • Vous ne pouvez pas créer de sujet
  • Vous ne pouvez pas répondre au sujet

1 utilisateur(s) dans ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)