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 :

Envoyer un mail en java


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut Envoyer un mail en java
    Bonjour,

    Aprés avoir entrée leur email dans un formulaire donc une page jsp (je fais du struts).
    Je cherche à envoyer un mail aux utilisateurs de cette application. Je sais pas comment faire qu elles sont les classes que je peux utiliser et le code que je dois implémenter.

    Merci pour votre aide.

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, tu trouveras la réponse dans ce sujet.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut
    Merci morph41
    Je viens de voir le sujet en question, comme je ne connais pas grand chose au réseau, je voulais savoir si sa fonctionne comme les sockets avec une adresse machine et un port de la machine?
    Car j'ai vu qu'il y avait un une sorte de map (properties) et tu y ajoutes quoi à cette map c'est quoi le smtp."quelque chose" et tu as également un localhost? ok pour ce qui est du destinataire et du recepteur du mail.
    Merci pour ton aide.

  4. #4
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    oui, le protocole est SMTP (http://fr.wikipedia.org/wiki/Simple_...nsfer_Protocol), à l'écoute par défaut du port 25.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut
    Ok Tommy31,
    J'ai vu ce lien d'accord pour le SMTP, mais voilà prenons un exemple tout simple, je suis sur Yahoo.fr et je veux envoyer un mail à une personne sur hotmail comment je fais quel SMTP je renseigne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            Properties props = new Properties(); 
            props.put(" ", "   ");        
            session = Session.getDefaultInstance(props, null);
            session.setDebug(true);
    Merci.

  6. #6
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    Celui de yahoo.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut
    ok un truc comme ça?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    props.put("smtp.mail.yahoo.fr", "smtp.mail.yahoo.fr");

  8. #8
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    props.put("mail.smtp.host", "smtp.mail.yahoo.fr");

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut
    merci pour ta réponse Tommy31
    mais j' ai une erreur je ne vois pas pourquoi, il ne trouve pas une classe ?
    DEBUG: setDebug: JavaMail version 1.4.1
    java.lang.NoClassDefFoundError: javax/activation/DataSource
    at monPaquet.EmaiTools.envoyerMail(EmaiTools.java:57)
    at monPaquet.EmaiTools.main(EmaiTools.java:89)
    Exception in thread "main"
    Mon code est le suivant
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    package monPaquet;
     
     
    import java.util.Properties;
     
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
     
    // import java.io.*;
    // import java.util.*;
    // import javax.mail.*;
    // import javax.mail.internet.*;
     
    public class EmaiTools {
     
        /** Destinataire du message. */
        protected String message_dest = "toto_tata@yahoo.fr";
     
        /* Objet du message. */
        protected String message_objet = "Re: detail du sujet ";
     
    //    /** Destinataire du message en copie (CC). */
    //    protected String message_cc = "dbz_max@hotmail.com";
     
        /** Texte du message. */
        protected String message_corps = "Bonjour dans une semaine vous recevrez de  "
                + "plus amples détails sur " + "le sujet de votre choix";
     
        /** Objet session de JavaMail. */
        protected Session session;
     
        /** Objet message de JavaMail. */
        protected Message mesg;
     
        public void envoyerMail() {
     
            // Nous devons passer les informations au serveur de messagerie sous
            // forme de propriétés car JavaMail en comporte beaucoup...
            Properties props = new Properties();
     
            // Votre réseau doit donner au serveur SMTP local le nom
            // "nom_du_serveur_smtp"
     
            props.put("mail.smtp.host", "smtp.mail.yahoo.fr");
     
            // Créer l’objet Session.
            session = Session.getDefaultInstance(props, null);
            session.setDebug(true); // activer le mode verbeux !
     
            try {
                // Créer un message.
                mesg = new MimeMessage(session);
     
                // Adresse From - Indiquer la provenance du message
                mesg.setFrom(new InternetAddress("toto_tata@yahoo.fr"));
     
                // Adresse TO.
                InternetAddress toAddress = new InternetAddress(message_dest);
                mesg.addRecipient(Message.RecipientType.TO, toAddress);
     
    //            // Adresse CC.
    //            InternetAddress ccAddress = new InternetAddress(message_cc);
    //            mesg.addRecipient(Message.RecipientType.CC, ccAddress);
     
                // Objet.
                mesg.setSubject(message_objet);
     
                // Corps du message.
                mesg.setText(message_corps);
     
                // Enfin, envoyer le message !
                Transport.send(mesg);
     
            } catch (MessagingException ex) {
                while ((ex = (MessagingException) ex.getNextException()) != null) {
                    ex.printStackTrace();
                }
            }
        }
     
        /** Programme principal */
        public static void main(String[] av) {
            EmaiTools env = new EmaiTools();
            env.envoyerMail();
        }
    }

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut
    En regardant sur le net j'ai trouvé pourquoi j'avais cette erreur:

    java.lang.NoClassDefFoundError: javax/activation/DataSource

    il fallait télécharger JavaBean Activation FrameWork sur le site de Sun
    http://java.sun.com/products/javabeans/glasgow/jaf.html

    Par contre j'ai toujours une erreur:
    une erreur c'est produite il dit qu'il ne peut pas se connecter?????
    DEBUG: setDebug: JavaMail version 1.4.1
    DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
    DEBUG SMTP: useEhlo true, useAuth false
    DEBUG SMTP: trying to connect to host "smtp.mail.yahoo.fr", port 25, isSSL false
    javax.mail.MessagingException: Could not connect to SMTP host: smtp.mail.yahoo.fr, port: 25;
    nested exception is:
    java.net.ConnectException: Connection refused: connect
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
    at javax.mail.Service.connect(Service.java:288)
    at javax.mail.Service.connect(Service.java:169)
    at javax.mail.Service.connect(Service.java:118)
    at javax.mail.Transport.send0(Transport.java:188)
    at javax.mail.Transport.send(Transport.java:118)
    at monPaquet.EmaiTools.envoyerMail(EmaiTools.java:77)
    at monPaquet.EmaiTools.main(EmaiTools.java:89)
    Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
    at java.net.Socket.connect(Socket.java:452)
    at java.net.Socket.connect(Socket.java:402)
    at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233)
    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359)
    ... 8 more
    Merci pour votre aide

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Par défaut
    Salut,
    Désolé mais c'est encore moi quelqu un peut-il m'aider je suis dans la M.....
    Merci

Discussions similaires

  1. Envoyer un mail avec Java
    Par medslayer dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 08/09/2013, 22h25
  2. Comment envoyer des mail via java
    Par sebac dans le forum Général Java
    Réponses: 2
    Dernier message: 25/11/2011, 17h55
  3. envoyer un mail en java
    Par air75 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 28/06/2011, 10h42
  4. envoyé un mail avec java sans java-mail
    Par walidinfo dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 03/11/2010, 14h12
  5. Comment envoyer un mail en java à Lotus Notes ?
    Par questionneuse dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 06/10/2006, 16h10

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