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

Servlets/JSP Java Discussion :

[JAVAMAIL] Envoi de mail


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut [JAVAMAIL] Envoi de mail
    Bonjour tout le monde,

    J'ai un problème que je n'arrive pas à résoudre seul ...
    J'ai farfouillé sur le forum mais ce que j'ai trouvé ne corespondait pas vraiment à ce que je cherchais... donc voilà en faite j'ai une simple jsp qui devrait envoyer un mail, il n'y aucun paramètre rien, c'était juste un exemple que je voulais faire marcher avec de continuer mais celui ci ne marche pas donc ...
    Donc j'ai installé JAVAMAIL, correctement je pense puisque quand je lance ma Jsp ca compile bien, d'ailleur j'ai aucune erreur, le seul hic c'est que je ressoit jamais le mail ....

    Si quelqu'un pourrait m'éclairer merci beaucoup je met le code entier de ma jsp
    J'ai uniquement modifié les adresses mails

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <%@ page import="java.util.*"%>
    <%@ page import="java.lang.*"%>
    <%@ page import="javax.mail.*"%>
    <%@ page import="javax.mail.internet.*"%>
    <%
            String from = "prenom.nom@gmail.com";
            String to = "prenom.nom@gmail.com";
            String subject = "le sujet...";
            String content = "Le message";
     
            try 
            {
               Properties props = System.getProperties();
               props.put("mail.smtp.host", "smtp.gmail.com");
               Session newSession = Session.getDefaultInstance(props, null);
               MimeMessage message = new MimeMessage(newSession);
               message.setFrom(new InternetAddress(from));
               message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
               message.setSubject(subject);
     
               //Envoi en HTML
               //message.setContent(content, "text/html");
               //ou alors pour l'envoi en texte
               message.setText(content);
            
               //javax.mail.Transport.send(message);
               Transport.send(message);
               out.println("L'envoi du mail a reussi");
            }
            catch (Exception e) 
            {
               System.err.println("L'envoi du mail a échoué : "+e.getMessage());
            }
    %>
    Encore merci de m'aider

  2. #2
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    En 1er, si tu fais du traitement, fais plutot cela dans une servlet ... les jsp ne sont à l'origine pas faites pour faire un traitement (modele MVC).

    En 2ème, y a t'il une trace dans tes logs ? Comme ca, sans aucune trace à disposition, c'est pas facile ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut
    Vi effectivement il existe une trace dans mes logs, j'ai pas pensé à jeter un coup d'oeil .... la voici en version racourci car beaucoup de lignes se répètent.

    L'envoi du mail a échoué : Unknown SMTP host: adresse du serveur SMTP
    Puis avec la version que j'ai donné ci-dessus j'obtient ceci
    L'envoi du mail a échoué : 530 5.7.0 Must issue a STARTTLS command first f31sm10649772fkf
    Le problème vient de l'identification, je suis en train de chercher comment je pourrais m'identifier, mais apparement ce problème est assez récurrent, je le retrouve dans pas mal de forum, surtout quand on utilise gmail en faite...

  4. #4
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    Il te dit ici que ton serveur SMTP n'existe pas. Vérifie que ce smtp
    smtp.gmail.com
    existe bien, que c'est le bon.Apparemment, ce n'est pas le cas ici.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut
    Si si c'est le bon! excuse moi dans mon message précédent j'ai pas été très clair, en faite l'erreur la toute première du log c'est quand j'utilisé autre chose.

    J'ai regardé sur les forums pour la seconde erreur, elle vient du faite que l'authentification a gmail se fait mal ...

    La je viens de modifier mon code par celui ci et j'ai récuperer les logs ca donne ca
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    String messageFrom = "**.***@gmail.com";
    	String messageTo = "****.****@insa-lyon.fr";
    	String subject = "le sujet...";
     
    	try{
    		Properties props = new Properties();
    		props.put("mail.smtp.host", "smtp.gmail.com");
     
    		java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    		Session newSession;
    		newSession = Session.getDefaultInstance(props, null);
    		newSession.setDebug(true);
     
    		InternetAddress gmail = new InternetAddress("smtp.gmail.com");
    		Transport transport = newSession.getTransport(gmail);
    		transport.connect("smtp.gmail.com", "mon_login", "mon_pass");
     
    		Message message = new MimeMessage(newSession);
     
    		InternetAddress addressFrom = new InternetAddress(messageFrom);
    		message.setFrom(addressFrom);
     
    		InternetAddress addressTo = new InternetAddress(messageTo);
    		message.addRecipient(Message.RecipientType.TO, addressTo);
     
    		message.setSubject(subject);
    		message.setText("blablalblalbalbal");
    		Transport.send(message);
     
    		} 
    		catch (AddressException e) 
    		{
    			e.printStackTrace();
    		} 
    		catch (MessagingException e) 
    		{
            	e.printStackTrace();
    		}

    Pour le log on obtient
    EHLO iffc06
    250-mx.google.com at your service, [134.214.105.229]
    250-SIZE 28311552
    250-8BITMIME
    250-STARTTLS
    250 ENHANCEDSTATUSCODES
    DEBUG SMTP: Found extension "SIZE", arg "28311552"
    DEBUG SMTP: Found extension "8BITMIME", arg ""
    DEBUG SMTP: Found extension "STARTTLS", arg ""
    DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
    DEBUG SMTP: use8bit false
    MAIL FROM:<***.****@gmail.com>
    530 5.7.0 Must issue a STARTTLS command first 28sm12550551fkx
    com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first 28sm12550551fkx

  6. #6
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    désolé, la je vois pas. As tu essayé avec un autre fournisseur, style yahoo ?
    Si non, peux tu essayer pour voir ?

  7. #7
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    Pour résoudre le problème
    530 5.7.0 Must issue a STARTTLS command first 28sm12550551fkx
    tu peux essayer d'ajouter l'instruction ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    props.put("mail.smtp.starttls.enable", "true");
    Toutefois, je te déconseille fortement d'utiliser le serveur SMTP de gmail, yahoo, hotmail, ...
    Ceux-ci sont en effet très sécurisé.
    Je te conseille plutôt d'installer ton propre serveur mail en local (easySMTP, par exemple) et de spécifier localhost comme serveur SMTP dans ton code.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut
    L'envoi de mail par classe java via gmail est tout à fait possible, mais il faut t'identifier en ssl pour pouvoir envoyer un mail.

Discussions similaires

  1. [JUnit] Tester Javamail, envoi de mail avec attachment
    Par ifsera dans le forum Tests et Performance
    Réponses: 7
    Dernier message: 12/11/2012, 10h45
  2. [javamail] Envoi de mail avec plusieurs images
    Par RamyBoulet dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 21/09/2009, 11h32
  3. Réponses: 1
    Dernier message: 21/02/2007, 10h49
  4. [JavaMail] envoi de mails en java
    Par franfr57 dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 11/01/2007, 19h33
  5. JavaMail:Envoi de Mail
    Par gagalive dans le forum API standards et tierces
    Réponses: 21
    Dernier message: 28/06/2006, 17h53

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