Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2592 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Valider une adresse email

n°851613
the real m​oins moins
Posté le 16-09-2004 à 11:56:19  profilanswer
 

Reprise du message précédent :
plus [:aloy]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 16-09-2004 à 11:56:19  profilanswer
 

n°851621
Mara's dad
Yes I can !
Posté le 16-09-2004 à 12:00:21  profilanswer
 

the real moins moins a écrit :

donc si on parle de mot de passe/validation de compte et ce genre de truc, un bon systeme c'est peut etre l'envoi d'un mail avec un lien vers une page qui va "activer/valider" le compte en question, non?
 
je l'ai vu faire sur plusieurs sites, ça marche bien... la page en question a un parametre genre hash, et n'est valide qu'un certain temps..
 
 
maintenant j'ignore tout de ton contexte...


C'est pas dans les specs, mais je l'ai proposé :sol:
J'attends la réponse.
 
Edit :
En fait on utilise ce système pour les abonnements aux newsletters.
Mais c'est mal foutu dans le sens ou l'utilisateurs doit valider par mail (avec hash) chaque changement dans ses abonnements.
Je propose donc plutôt un système d'inscription de l'adresse email.
La première fois, l'utilisateur saisie son email, et il reçoit un password généré par le serveur qui lui permet allors d'utiliser cet email dans tous les formulaires du site s'il fournis le bon mot de passe.


Message édité par Mara's dad le 16-09-2004 à 12:09:08

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°851623
Mara's dad
Yes I can !
Posté le 16-09-2004 à 12:01:27  profilanswer
 


Je l'ai jamais utilisé !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°851637
the real m​oins moins
Posté le 16-09-2004 à 12:16:02  profilanswer
 

Mara's dad a écrit :


Tout d'abord, j'utilise InternetAddress.parse( strEMailAddress ) qui vérifie la validité de l'adresse selon la RFC822.
 

tu vois que si , tu l'as utilisé :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°851639
Mara's dad
Yes I can !
Posté le 16-09-2004 à 12:17:09  profilanswer
 

the real moins moins a écrit :

tu vois que si , tu l'as utilisé :o


Tu parlais pas de dnsjava ?
C'est qui/quoi jaf ?


Message édité par Mara's dad le 16-09-2004 à 12:19:02

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°851656
the real m​oins moins
Posté le 16-09-2004 à 12:44:33  profilanswer
 

jaf = java activation framework ... le activation.jar quoi :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°851666
Mara's dad
Yes I can !
Posté le 16-09-2004 à 12:56:02  profilanswer
 

javax.mail.internet.InternetAddress from mail.jar.
 
Maintenant, il utilise peut-être jaf, j'en sais rien !
 
De toute façon, il sont déjà dans le projet :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°851767
the real m​oins moins
Posté le 16-09-2004 à 14:59:13  profilanswer
 

ha oui, ct ptet mail.jar ... mais mail à besoin du jaf je crois :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°856951
LAs3R
Posté le 24-09-2004 à 08:07:44  profilanswer
 

tu peut faire une nslookup pour trouver le/les Mails eXchanger (jndi)
s'il n'y en a pas c'est que le domaine n'existe pas
 
exple:

Code :
  1. /**
  2.  * récupère, pour un nom de domaine donné, les Mail eXchangers associés
  3.  * @return MXRecord liste des MX; si aucun MX n'est trouvé, la liste retournée sera vide
  4.  */
  5. public MXRecord[] MXLookup(String domain) throws NamingException {
  6.  Hashtable env = new Hashtable();
  7.  env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory" );
  8.  env.put("java.naming.provider.url", "dns://" + dns + "/" );
  9.  DirContext ictx = new InitialDirContext(env);
  10.  Attributes namingAttributes = ictx.getAttributes(domain, new String[] { "MX" });
  11.  ArrayList MXrecords = new ArrayList();
  12.  for(NamingEnumeration namingEnum = namingAttributes.getAll(); namingEnum.hasMore();) {
  13.   BasicAttribute basicAttribute = (BasicAttribute) namingEnum.next();
  14.   for (NamingEnumeration MXenum = basicAttribute.getAll(); MXenum.hasMore();) {
  15.    MXrecords.add(new MXRecord((String)MXenum.next()));
  16.   }
  17.  }
  18.  Collections.sort(MXrecords);
  19.  return (MXRecord[]) MXrecords.toArray(new MXRecord[0]);
  20. }


 
ensuite tu "demandes" a chaque MX s'il connait ou non le compte mail, il faut ouvrir une communication SMTP via socket classique avec les messages suivants :
1. HELO.
2. MAIL FROM:<tonadressemailatoi@toto.com>  
3. RCPT TO:<adresseaverifier@toto.com>
 
si toutes les réponses sont positives (>= 200 et < 300) alors l'adresse est reconnu par le MX sinon elle ne l'est pas
 
voila
 
NB : la vérification du nom de domaine est fiable. Par contre pour solliciter les MX c'est le contraire. De nombreux MX sont configurés de maniere à répondre toujours positivement ou toujours négativement (a cause du spam généralement) et donc c'est pas super fiable.
Le meilleur moyen de vérifier la validité d'une adresse mail est (comme il a été dit plus haut) d'envoyer un mail au client lui demandant d'activer som compte par exple...
 :)
 
edit : avant de faire cela il faut vérifier la syntaxe de l'email (si tu est en jdk1.4 ou plus tu peux utiliser les expression régulieres (deja dit je sais)

Message cité 1 fois
Message édité par LAs3R le 24-09-2004 à 08:14:44
n°871322
veryfree
Posté le 12-10-2004 à 13:07:30  profilanswer
 

merci pour ces infos :jap: ²

mood
Publicité
Posté le 12-10-2004 à 13:07:30  profilanswer
 

n°1447600
Tony Truan​d
he's back
Posté le 26-09-2006 à 14:21:10  profilanswer
 

LAs3R a écrit :

tu peut faire une nslookup pour trouver le/les Mails eXchanger (jndi)
s'il n'y en a pas c'est que le domaine n'existe pas
 
exple:

Code :
  1. /**
  2.  * récupère, pour un nom de domaine donné, les Mail eXchangers associés
  3.  * @return MXRecord liste des MX; si aucun MX n'est trouvé, la liste retournée sera vide
  4.  */
  5. public MXRecord[] MXLookup(String domain) throws NamingException {
  6.  Hashtable env = new Hashtable();
  7.  env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory" );
  8.  env.put("java.naming.provider.url", "dns://" + dns + "/" );
  9.  DirContext ictx = new InitialDirContext(env);
  10.  Attributes namingAttributes = ictx.getAttributes(domain, new String[] { "MX" });
  11.  ArrayList MXrecords = new ArrayList();
  12.  for(NamingEnumeration namingEnum = namingAttributes.getAll(); namingEnum.hasMore();) {
  13.   BasicAttribute basicAttribute = (BasicAttribute) namingEnum.next();
  14.   for (NamingEnumeration MXenum = basicAttribute.getAll(); MXenum.hasMore();) {
  15.    MXrecords.add(new MXRecord((String)MXenum.next()));
  16.   }
  17.  }
  18.  Collections.sort(MXrecords);
  19.  return (MXRecord[]) MXrecords.toArray(new MXRecord[0]);
  20. }


 
ensuite tu "demandes" a chaque MX s'il connait ou non le compte mail, il faut ouvrir une communication SMTP via socket classique avec les messages suivants :
1. HELO.
2. MAIL FROM:<tonadressemailatoi@toto.com>  
3. RCPT TO:<adresseaverifier@toto.com>
 
si toutes les réponses sont positives (>= 200 et < 300) alors l'adresse est reconnu par le MX sinon elle ne l'est pas
 
voila
 
NB : la vérification du nom de domaine est fiable. Par contre pour solliciter les MX c'est le contraire. De nombreux MX sont configurés de maniere à répondre toujours positivement ou toujours négativement (a cause du spam généralement) et donc c'est pas super fiable.
Le meilleur moyen de vérifier la validité d'une adresse mail est (comme il a été dit plus haut) d'envoyer un mail au client lui demandant d'activer som compte par exple...
 :)
 
edit : avant de faire cela il faut vérifier la syntaxe de l'email (si tu est en jdk1.4 ou plus tu peux utiliser les expression régulieres (deja dit je sais)


 
 

et tu saurais faire un équivalent en utilisant le module perl :   Net::DNS  ??


Message édité par Tony Truand le 26-09-2006 à 14:21:32
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
email - interroger le serveur et lire les mails (pseudo webmail)Conseil de code pour valider en XHTML 1.0 Strict
W3C : comment valider un page contenant un objet Flash ?Valider un formualire automatiquement par php ou javascript
Envoyer un email en vb.net[PHP] Récupérer les infos de l'adresse
Racuparation de l adresse mac sous LinuxFonction mail et mauvaise adresse email
Comment envoyer un mail avec la librairie "email" ?? 
Plus de sujets relatifs à : Valider une adresse email


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR