IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

adresse email valide


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 60
    Points : 27
    Points
    27
    Par défaut adresse email valide
    Je suis débutante en java. J'ai un mini projet à réaliser. Il s'agit de créer une méthode qui permet de tester la validité d'une adresse e-mail.

    En réalité, ce projet a pour but de nous apprendre à créer des méthodes.

    J'ai déjà créé une méthode qui teste la présence du caractère '@' et du caractère '.' dans une chaine.

    Si vous pouviez me donner d'autres caractéristiques d'une bonne adresse e-mail, cela me permettrait de créer d'autres méthodes. Ainsi, la combinaison de toutes ces méthodes me donnera la méthode me permettant de savoir si une adresse e-mail est bonne, valide.

    J'espère que je me fais bien comprendre.

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Tu peux directement te diriger vers l'utilisation d'expressions régulières, c'est réellement le moyen adéquat afin de tester la validité d'une chaine vis à vis d'un motif.

    ftp://ftp-developpez.com/cyberzoide/java/regex.pdf


    Pour les règles à appliquer tu les trouveras sur la page wikipedia correspondant aux adresses électroniques: http://fr.wikipedia.org/wiki/Adresse_%C3%A9lectronique

  3. #3
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 623
    Points : 15 711
    Points
    15 711
    Par défaut
    Les expressions régulières sont en effet le moyen le plus simple et efficace pour gérer ça, mais renseigne toi pour savoir si ton professeur accepte cela.

    Si c'est un mini-projet d'étude qui est demandé, le professeur souhaite probablement que la validation soit programmée complètement en java, sans utiliser de fonction avancées comme les expression régulières qui supprime le coté algorithmique du problème.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 60
    Points : 27
    Points
    27
    Par défaut
    Justement nous n'avons pas encore étudié les expressions régulières. Ce sera dans deux semaines et le mini projet doit être rendu dans 5 jours

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 958
    Points : 4 387
    Points
    4 387
    Par défaut
    Citation Envoyé par Uther Voir le message
    Les expressions régulières sont en effet le moyen le plus simple et efficace pour gérer ça, mais renseigne toi pour savoir si ton professeur accepte cela.

    Si c'est un mini-projet d'étude qui est demandé, le professeur souhaite probablement que la validation soit programmée complètement en java, sans utiliser de fonction avancées comme les expression régulières qui supprime le coté algorithmique du problème.
    le plus "simple" … ?

    dans le sens où, une fois qu'on a l'expression régulière, le code de validation est trivial…

    mais pour quelqu'un qui débute dans les expressions régulières ou pire n'en n'a jamais fait, la RFC822 (voir http://www.ietf.org/rfc/rfc822.txt) n'est pas un exercice facile…
    (vous pouvez toujours faire des copier-coller de ce que vous trouverez sur Internet mais si on vous pose des questions sur comment ça fonctionne, vous êtes mal barré…)

    - si vous exigez une validation stricte de la syntaxe, l'expression régulière est "kilométrique"…,
    - si vous acceptez de ne plus supporter les [] (obsolete selon la RFC) l'expression sera déjà plus simple,
    - et on peut discuter de la validité "pratique" de l'adresse email et non plus seulement syntaxique :
    on sait que les top domains sont 2 lettres de code iso de pays ou com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum
    on a encore une autre expression régulière…

    par contre, peut-être, le plus simple (ou le plus malin) est d'utiliser une librairie existante comme par exemple JavaMail…
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    class InternetAddress
     
    public static InternetAddress[] parse(java.lang.String addresslist)
                                   throws AddressException
    si c'est pour un exercice scolaire ça dépend aussi de l'objectif de celui-ci (ou de la mentalité du prof…) : qu'est-ce que l'élève doit démontrer ?
    qu'il est capable de réinventer la roue ou qu'il est suffisament malin pour utiliser des outils existants (en "critiquant" leurs résultats évidemment…) ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 60
    Points : 27
    Points
    27
    Par défaut
    objectif : apprendre à écrire des méthodes tout simplement.

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    alors pour info les adresses emails suivantes sont valides suivant le rfc:

    • tchize
    • tchize@developpez
    • <tchize+(developpez,java)@developpez.net>
    • le sieur tchize <tchize=aide@developpez.net>
    • t.ch <tchize@aide-en-ligne.developpez.net>


    Faire ça avec des expressions régulières? Meme les expressions kilométriques que j'ai vu jusqu'à présent ne font qu'approximer le rfc.

    Rechercher le '.' dans l'adresse? Il est pas obligatoire
    Rechercher le @ dans l'adresse? Pas obligatoire non plus
    Rechercher des caractères invalides? Tous les caractères ascii sont valides (meme le retour à la ligne si ma mémoire est bonne )

    J'aime ces exercies "simples" soumis par des profs qui ont pas regardé plus en détail ^^


    ha et voilà le rfc http://tools.ietf.org/html/rfc3696

    edit: d'après wikipedia le @ est obligatoire, d'après sendmail, non

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 60
    Points : 27
    Points
    27
    Par défaut
    personne ne m'a toujours pas donné les caractéristiques d'une bonne adresse e-mail.

    Rechercher le '.' dans l'adresse? Il est pas obligatoire
    Rechercher le @ dans l'adresse? Pas obligatoire non plus
    comment ça pas obligatoire. Je ne suis pas.

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    voir les exemples plus haut. Tu en trouvera sans le "." et d'autres sans le "@". Comme le dit mon edit, je suis pas sur de l'obligation du @, j'ai pas le courage de digéré tout le rfc, suffit de dire que le serveur mail au boulot est un sendmail et accepte sans broncher les adresse sans @ (il fait alors une simple livraison locale)

    Quand au ., il n'est pas obligatoire car tu n'est pas obligé de qualifier complètement le serveur cible (dans le cas encore une fois d'une livraison locale)

  10. #10
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 958
    Points : 4 387
    Points
    4 387
    Par défaut
    ce n'est pas parce qu'un logiciel ajoute automatiquement @HOSTDOMAIN ou complète les adresses pour l'utilisateur que le @ ne fait pas partie de la définition d'une adresse mail valide…

  11. #11
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    nan nan, pas rajouté par le client, et l'entête à la réception le confirme Mais c'est pas parce que le sendmail au boulot le digère sans broncher que c'est la règle ^^

  12. #12
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 958
    Points : 4 387
    Points
    4 387
    Par défaut
    le @ fait partie de la norme.

    ce qui se passe en local est anectodique et dépend de la configuration du MTA, y compris ce qui apparaît dans les headers.

    (ici le @DOMAINOFLOCALHOST est ajouté au header To: mais pas au header X-Original-To: …)

  13. #13
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    on va dire que c'est obligatoire alors ^^, pas envie de me tapper le rfc

  14. #14
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 623
    Points : 15 711
    Points
    15 711
    Par défaut
    En effet quand je disais le plus simple, c'était dans le cas d'une vérification classique. Etant donné qu'il s'agit d'un exercice de cours et pas la programation d'un serveur ou client mail, je part du principe qu'on ne va pas demander de digérer la RCF en entier et de la respecter à 100%.
    D'ailleurs ca m'étonnerait que les algorithmes de vérification des site web même pros facent autre chose qu'une simple approximation simpliste des règles.

    Si on doit gérer les cas tordus, les expressions régulière peuvent devenir lourdes(mais le code risque de l'être également) voir parfois inadaptée, mais dans la majorité des cas ou il faut valider une chaine, c'est la meilleure solution.

  15. #15
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Citation Envoyé par Uther Voir le message
    D'ailleurs ca m'étonnerait que les algorithmes de vérification des site web même pros facent autre chose qu'une simple approximation simpliste des règles.
    je confirme, 80% des sites refusent les adresses emails de triage que je leur fournit quand je suis forcé de m'inscrire

Discussions similaires

  1. Valider une adresse email
    Par mhuress dans le forum Développement
    Réponses: 4
    Dernier message: 22/03/2012, 12h34
  2. controle de saisie d'une adresse email valide
    Par nassing dans le forum jQuery
    Réponses: 1
    Dernier message: 26/05/2011, 14h52
  3. validation d'adresse email
    Par sky88 dans le forum VB.NET
    Réponses: 10
    Dernier message: 06/07/2009, 16h27
  4. Adresse Email valide
    Par callo dans le forum Langage
    Réponses: 9
    Dernier message: 12/06/2009, 12h22
  5. Valider champ + adresse email
    Par benassis dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/09/2007, 16h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo