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

API standards et tierces Java Discussion :

Envoi email J2EE


Sujet :

API standards et tierces Java

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur Java EE
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur Java EE

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Par défaut Envoi email J2EE
    Bonjour,

    Svp, je veut envoyer un email en java via l'API Jakarta Commons Email;

    j'ai trouvé pas mal d'exemple, mais je n'arrive à aucune résultat;

    je ne sais pas les étapes nécéssaires pour la mise en œuvre de l'API,
    L'ajout des variables d’environnement CLASS_PATH...

    Est ce que quelqu'un peut m'aider par les étapes primaire de la mise en ouevre de l'API Jakarta Commons Email; ??

    Merci à vous.

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur Java EE
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur Java EE

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Par défaut Résolut
    Voila le problème est résolut;

    1.Télécharger et intégrer l'API jakarta.commons :

    http://commons.apache.org/email/

    2.Télécharger l'API JavaMail :

    http://www.oracle.com/technetwork/ja...ail/index.html

    3. Intégrer ce code dans une classe et l'appelé pour l'exécuté :

    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
    public static boolean envoyerEmail() {
            boolean ok = false;
            try {
     
                Email email = new SimpleEmail();
                email.setHostName("smtp.gmail.com");
                email.setSmtpPort(587);
                email.setAuthenticator(new DefaultAuthenticator("tonEmaill@gmail.com", "m.passe"));
                email.setTLS(true);
                email.setFrom("TonEmail@gmail.com");
                email.setSubject("TestMail");
                email.setMsg("This is a test mail ... :-)");
                email.addTo("recevant@......com");
                email.send();
                ok=true;
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Erreur d'envoie:" + e);
            } finally {
                return ok;
            }
     
        }
    et voi

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 11
    Par défaut
    Bonjour,
    J'ai réussi à importer les librairies dans mon projet, j'ai fait une classe EnvoieMail et y ai décrit la fonction statique que vous avez donné. Cependant j'ai une erreur lors de l'instanciation de l'objet email à la ligne 5
    Email email = new SimpleEmail();
    La boucle try s’arrête alors et la fonction me renvoie false.
    Comment je peux faire pour que l'objet se crée comme il faut.
    Merci pour votre réponse

    PS: projet sous netbeans IDE 7.1.2

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Ephem90 Voir le message
    La boucle try s’arrête alors et la fonction me renvoie false.
    Comment je peux faire pour que l'objet se crée comme il faut.
    Ça pourrait être intéressant de regarder l'Exception reçue.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Traductrice
    Avatar de Mishulyna
    Femme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Citation Envoyé par wadi3 Voir le message
    Bonjour,

    Svp, je veut envoyer un email en java via l'API Jakarta Commons Email;
    C'est un choix imposé? Car il existe Java Mail API. Un petit exemple:
    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
    91
    92
    93
    94
    95
    96
     
    package be.isl.tfe.negoce.jsf.util;
     
    import be.isl.tfe.negoce.entity.Commande;
    import be.isl.tfe.negoce.entity.Contact;
    import java.io.File;
    import java.util.Date;
    import java.util.Properties;
    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;
    import javax.mail.*;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
     
    /**
     *
     * @author
     */
    public class SendMail {
     
        private static final String SMTP_HOST_NAME = "smtp.mail.yahoo.com"; 
        private static final String SMTP_AUTH_USER = "username"; 
        private static final String SMTP_AUTH_PWD = "password"; 
        private static final String emailMsgTxt = "Bonjour, \nCeci n'est pas un mail  \n\nBien à vous, \nSignature";
        private static final String emailSubjectTxtOrderSend = "Hello world!"; 
        private static final String emailFromAddress = "username@yahoo.com"; // à remplacer par "username@gmail.com"
     
        public static void sendCommandByMail(Contact contact, Commande commande, File file) throws MessagingException { 
    // si tu n'envoie pas de pièce jointe supprime les args Commande et File 
    // + leurs MimeBodyPart
     
            Properties props = new Properties();
            props.put("mail.smtp.host", SMTP_HOST_NAME);
            props.put("mail.from", emailFromAddress);
            props.put("mail.smtps.auth", "true");
            Session session = Session.getInstance(props, null);
     
            Message msg = new MimeMessage(session);
            msg.setFrom(new InternetAddress(emailFromAddress));
            msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(contact.getEmail(), false));
     
            msg.setSubject(emailSubjectTxtOrderSend);
            msg.setSentDate(new Date());
     
            // Body part
            BodyPart messageBodyPart = new MimeBodyPart();
            messageBodyPart.setText(emailMsgTxt);
     
            //add bodypart to multipart
            Multipart multipart = new MimeMultipart();
            multipart.addBodyPart(messageBodyPart);
     
            // join
            messageBodyPart = new MimeBodyPart();
            FileDataSource source = new FileDataSource(file);
            messageBodyPart.setDataHandler(new DataHandler(source));
            messageBodyPart.setFileName("Commande_" + commande.getIdcommande()+ ".pdf");//
     
            //Ajout de la partie pièce jointe
            multipart.addBodyPart(messageBodyPart);
            msg.setContent(multipart);
     
     
            Transport transport = session.getTransport("smtp");
            transport.connect(SMTP_HOST_NAME, SMTP_AUTH_USER, SMTP_AUTH_PWD);
            transport.sendMessage(msg, msg.getAllRecipients());
            transport.close();
        }
     
        // getters & setters
        public static String getSMTP_AUTH_PWD() {
            return SMTP_AUTH_PWD;
        }
     
        public static String getSMTP_AUTH_USER() {
            return SMTP_AUTH_USER;
        }
     
        public static String getSMTP_HOST_NAME() {
            return SMTP_HOST_NAME;
        }
     
        public static String getEmailFromAddress() {
            return emailFromAddress;
        }
     
        public static String getEmailMsgTxt() {
            return emailMsgTxt;
        }
     
        public static String getEmailSubjectTxtOrderSend() {
            return emailSubjectTxtOrderSend;
        }
    }
    J'ai "adapté" le code pour le rendre générique, si tu as des erreurs ou des questions n'hésite pas!

Discussions similaires

  1. Automatiser des queries journalieres avec envoie email.
    Par tsconetti dans le forum Access
    Réponses: 1
    Dernier message: 08/07/2006, 18h57
  2. [Mail] Envoi email avec php
    Par laymounos dans le forum Langage
    Réponses: 8
    Dernier message: 01/06/2006, 14h31
  3. Problème d'envoi email sous Mandriva
    Par wxcvbn123456 dans le forum Réseau
    Réponses: 5
    Dernier message: 26/05/2006, 16h22
  4. [VB]Envoi email
    Par CCRNP dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 12/03/2006, 18h09
  5. Réponses: 3
    Dernier message: 14/12/2005, 14h56

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