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

Langage Java Discussion :

Vérifier la validité d'une adresse email


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Points : 61
    Points
    61
    Par défaut Vérifier la validité d'une adresse email
    Bonjour à tous,

    Alors que j'écris une appli Web en Java EE, je me retrouve confronté à un problème basique: je veux vérifier que l'utilisateur entre une adresse email valide.

    J'ai effectué quelques recherches et j'ai trouvé plusieurs techniques maison (le plus souvent à base de regex) mais je suis supris de ne pas avoir trouvé de Toolkit qui propose une méthode poussée pour ce genre de problématique (que tout le monde rencontre).

    D'où ma question: existe-t-il une méthode poussée de validation d'adresse email dans l'api Java ou l'API Spring (vu que je l'utilise) permettant de valider une adresse email ou faut-il forcément la coder soi-même?

    En vous remerciant

    SH

  2. #2
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Bonjour,

    il doit être possible de vérifier une adresse mail (au sens format mais non existance du destinataire) avec InternetAddress

  3. #3
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Je ne sais pas pour Spring, mais avec l'API standard un simple appel à la méthode matches() de la classe String avec l'expression régulière qui va bien et le tour est joué .
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  4. #4
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Points : 61
    Points
    61
    Par défaut
    Bonjour et merci de vos réponses.

    je ne connaissais pas InternetAddress, je te remercie pour cette info, seulement ça ne me convient pas car pas assez strict. En fait il suffit d'avoir un "@" dans la chaine pour que ça soit considéré valide.

    J'ai donc simplement utilisé une regex chopée sur le net:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    email.matches(".+@.+\\.[a-z]+");
    ça me vérifiera au moins si c'est bien de la forme qqch@qqch.qqch, c'est déjà ça.

    Bon ben je suis parti pour la même histoire concernant l'existance d'une date

  5. #5
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 544
    Points
    1 544
    Par défaut
    pour etre completment sur de l'adresse, il faut envoyer un mail et voir la reponse du demon smtp. Pour ca JavaxMail est une solution. En cas de NotDeliveryQQChose l'adresse n'est pas bonne, bon ca peut etre aussi un probleme reseau..., mais la.

    Pour les dates c'est pas tout a fait pareil, car plusieurs formats representent la meme dates et sont valides, il faut definir plus précisement ce que tu veux, et ne veut pas
    "vaste programme"

  6. #6
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Points : 61
    Points
    61
    Par défaut
    Je te remercie de ta réponse.

    Pour les dates, j'ai trouvé une solution toute simple qui me convient:

    Je parse avec SimpleDateFormat et je définis setLenient(false);

    Pour l'email, de toute façon j'ai prévu d'envoyer un email et le compte n'est activé qu'une fois que l'utilisateur y a répondu (comme pour les forums par exemple), c'est juste une vérification préliminaire

  7. #7
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 544
    Points
    1 544
    Par défaut
    dans ce cas les verifications que tu peux faire sont vraiment light :
    prescence d'un '@'
    d'un '.' apres le @
    et ca doit s'arreter la
    "vaste programme"

  8. #8
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 76
    Points : 61
    Points
    61
    Par défaut
    Et présence de quelque chose après le '.', c'est ce que j'ai fait, j'ai mis la ligne de code plus haut

  9. #9
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 544
    Points
    1 544
    Par défaut
    j'avais pas vu.
    Je pense que tu es sur la bonne voie (en tout cas j'aurais fait un truc du meme genre, ce qui ne prouve rien loin de la)

    Bon courage pour la suite
    "vaste programme"

  10. #10
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Citation Envoyé par Tourix
    Bonjour et merci de vos réponses.

    je ne connaissais pas InternetAddress, je te remercie pour cette info, seulement ça ne me convient pas car pas assez strict. En fait il suffit d'avoir un "@" dans la chaine pour que ça soit considéré valide.

    J'ai donc simplement utilisé une regex chopée sur le net:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    email.matches(".+@.+\\.[a-z]+");
    ça me vérifiera au moins si c'est bien de la forme qqch@qqch.qqch, c'est déjà ça.

    Bon ben je suis parti pour la même histoire concernant l'existance d'une date
    je suis pas sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    InternetAddress
     
    public InternetAddress(String address,
                           boolean strict)
                    throws AddressException
     
        Parse the given string and create an InternetAddress. If strict is false, the detailed syntax of the address isn't checked.
     
    Parameters:
        address - the address in RFC822 format
        strict - enforce RFC822 syntax 
    Throws:
        AddressException - if the parse failed
    Since:
        JavaMail 1.3

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/02/2011, 15h41
  2. vérifier la validité d'une adresse mail
    Par mikew75 dans le forum Réseau
    Réponses: 0
    Dernier message: 26/02/2010, 15h48
  3. Réponses: 2
    Dernier message: 17/10/2007, 16h10
  4. Réponses: 5
    Dernier message: 05/07/2006, 19h54
  5. (msn) validité d'une adresse email
    Par t26 dans le forum Messagerie instantanée
    Réponses: 2
    Dernier message: 10/09/2005, 14h05

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