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 d'un mail


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    259
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Octobre 2005
    Messages : 259
    Par défaut Envoi d'un mail
    Bonjour,

    J'aimerais envoyer un mail depuis mon application...

    Voici mon code:
    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
    public SendMail(String to[ ], String subject, String message , String from) throws MessagingException
    {
     
    //Initialise les informations de connexion à bluewin
    Properties props = new Properties();
    props.setProperty("mail.transport.protocol", "smtp");
    props.setProperty("mail.host", "mail.bluewin.ch");
    props.setProperty("mail.port", "25");
     
    //Récupère la session par défault
    session = Session.getDefaultInstance(props, null);
     
    //Création d'un message
    Message msg = new MimeMessage(session);
     
    //Initialise l'émetteur
    InternetAddress addressFrom = new InternetAddress(from);
    msg.setFrom(addressFrom);
     
    //Initialise les destinataires
    InternetAddress[] addressTo = new InternetAddress[to.length]; 
    for (int i = 0; i < to.length; i++)
    {
    addressTo[i] = new InternetAddress(to[i]);
    }
     
    msg.setRecipients(Message.RecipientType.TO, addressTo);
     
    //Place le sujet du mail
    msg.setSubject(subject); 
     
    //Première partie du message
    BodyPart messageBodyPart = new MimeBodyPart();
     
    //Contenu du message
    messageBodyPart.setText(message);
     
    //Ajout de la première partie du message dans un objet Multipart
    Multipart multipart = new MimeMultipart();
    multipart.addBodyPart(messageBodyPart);
     
    //Partie de la pièce jointe
    /*messageBodyPart = new MimeBodyPart();
    DataSource source = new FileDataSource("Exportation.txt");
    messageBodyPart.setDataHandler(new DataHandler(source));
    messageBodyPart.setFileName(videoname);*/
     
    //Ajout de la partie pièce jointe
    multipart.addBodyPart(messageBodyPart);
     
    //On ajoute le tout au message
    msg.setContent(multipart);
     
    //Envoi du message
    Transport.send(msg);
    }
    Et voici l'appel de la méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new SendMail(tab,"Exportation de données","message","<A href="mailto:nicolas.lapaire@he-arc.ch");[/CODE">adressr e-mail");
    Quand je clique sur le bouton pour envoyer le mail, il me vient l'erreur suivante:

    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/activation/DataSource
    at exportation.SendMail.<init>(
    SendMail.java:29)

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Elle est à quelle ligne l'erreur?

  3. #3
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Par défaut
    perso pour envoyer des mail j'utilise plutot les socket :
    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
     
    import java.io.*;
    import java.net.Socket;
    import java.util.Date;
    import java.util.StringTokenizer;
    public class MailIo {
     public MailIo() {
     }
     public static boolean sendMail(Socket sock, String localHost,
       String Destinataire, String from, String subject, String message)
       throws IOException {
      out = new PrintWriter(sock.getOutputStream());
      in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
      receive();
      send("HELO " + localHost);
      receive();
      send("MAIL FROM: <" + from + ">");
      receive();
      send("RCPT TO: <" + Destinataire + ">");
      receive();
      send("DATA");
      receive();
      send("Subject: " + subject);
      send("Date: " + new Date());
      send("Reply-To:" + from);
      send("To: " + Destinataire);
      StringTokenizer tokenizer = new StringTokenizer(message, "\n");
      while (tokenizer.hasMoreTokens())
       send(tokenizer.nextToken());
      send(".");
      receive();
      send("QUIT");
      receive();
      sock.close();
      return true;
     }
     private static void receive() throws IOException {
      String line = in.readLine();
      if (line != null) {
       System.out.println(line);
       System.out.println("\n");
      }
     }
     private static void send(String s) {
      System.out.print(s);
      System.out.print("\r\n");
      System.out.flush();
      out.print(s);
      out.print("\r\n");
      out.flush();
     }
     private static BufferedReader in;
     private static PrintWriter out;
    }

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    259
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Octobre 2005
    Messages : 259
    Par défaut
    L'erreur est a la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //Création d'un message
    Message msg = new MimeMessage(session);
    Et il met également cette erreur à la ligne d'appel de la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new SendMail(tab,"Exportation de données","Salutation","email");

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    259
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Octobre 2005
    Messages : 259
    Par défaut
    Daedric, les paramètres de ta fct sont les suivants:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public static boolean sendMail(Socket sock, String localHost,
       String Destinataire, String from, String subject, String message)
    Pour le paramètre socket, tu déclare simplement un socket de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Socket sock = (Socket)null;
    ??

    Pour le paramètre localhost, je ne vois pas comment le faire...

  6. #6
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Tu as bien ajouté les .jar de javamail dans ton projet ? Car on dirait qu'il ne trouve pas les classes

  7. #7
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    259
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Octobre 2005
    Messages : 259
    Par défaut
    les .jar de javamail? Oui je les ai installés, il me mettait une erreur avant que je le fasse....

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

Discussions similaires

  1. L'envois de mail ne m'envois pas de mail ...
    Par PrinceMaster77 dans le forum ASP
    Réponses: 10
    Dernier message: 27/10/2004, 16h28
  2. Envois d'un mail Avec CDont
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 25/10/2004, 17h34
  3. [TIdSMTP] Envoi d'un mail avec authentification ?
    Par BACUS dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/06/2004, 16h18
  4. Envoi d'un mail automatiquement
    Par batmat86 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/06/2004, 09h20
  5. Envoi d'un mail en VBA: outlook ne se lance pas
    Par Hannibal dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/06/2003, 15h24

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