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 :

[JAVAMAIL] Impossible d'envoyer un mail


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Points : 46
    Points
    46
    Par défaut [JAVAMAIL] Impossible d'envoyer un mail
    Bonjour à tous,

    J'ai un problème, je bosse depuis ce midi sur l'envoi de mail via mon petit programme JAVA. Malgré tous mes efforts, je n'arrive pas à envoyer un seul mail, après mon test unitaire, j'obtiens l'erreur suivante:

    java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport
    at javax.activation.MailcapCommandMap.<init>(MailcapCommandMap.java:111)
    at javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:44)
    at javax.activation.DataHandler.getCommandMap(DataHandler.java:136)
    at javax.activation.DataHandler.getDataContentHandler(DataHandler.java:567)
    at javax.activation.DataHandler.writeTo(DataHandler.java:294)
    at javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:230)
    at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1065)
    at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:1923)
    at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1904)
    [...]

    Je galère vraiment car je ne comprends pas pourquoi mon code me renvoie cette erreur (j'ai l'impression qu'elle n'est même pas "catchée"). Voici maintenant mon code source :

    String destinataire = "xxx@ma_societe.fr";
    String expediteur = "yyy@ta_societe.fr";
    String serveurSMTP = "smtp.ma_societe.fr";
    String username = "xxx";
    String password = "mon_pass";

    Properties props = new Properties();
    props.put("mail.smtp.host", serveurSMTP);
    props.setProperty("mail.user", username);
    props.setProperty("mail.password", password);
    Session session = Session.getInstance(props, null);
    try
    {
    Message msg = new MimeMessage(session);
    msg.setFrom(new InternetAddress(expediteur));
    InternetAddress[] address = {new InternetAddress(destinataire)};
    msg.setRecipients(Message.RecipientType.TO, address);
    msg.setSubject("Hello World Subjects");
    msg.setText("Hello World content");

    msg.saveChanges(); // implicit with send()
    Transport transport = session.getTransport("smtp");
    transport.connect(serveurSMTP, username, password);
    transport.sendMessage(msg, msg.getAllRecipients());
    transport.close();
    //Transport.send(msg);
    }
    catch (MessagingException e)
    {
    System.out.println("\nErreur"+e.getMessage());
    }

  2. #2
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    NoClassDefFoundError
    The searched-for class definition existed when the currently executing class was compiled, but the definition can no longer be found.
    La classe "com.sun.activation.registries.LogSupport" semblait être présente (dans le CLASSPATH) pendant la compilation, mais pas pendant l'exécution : à vérifier les écarts de configuration...
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  3. #3
    Membre habitué Avatar de minus
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 153
    Points : 177
    Points
    177
    Par défaut
    D'apres la premiere ligne de ton erreur, la classe qui gere ce truc n'est pas trouvée tout simplement.

    Verifie ton Classpath ou que tu as bien mis le driver qui s'en charge dans ton projet (c'est un des probleme les plus recurrent je trouve, ca m'a pris la tete de tres nombreuses fois)
    Science sans conscience n'est que ruine de l'âme

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Points : 46
    Points
    46
    Par défaut
    En effet, je n'ai pas ce fameux "com/sun/activation/registries/LogSupport". Par contre, je suis un peu nouveau sur le java... que dois-je ajouter exactement ds mon classpath?

  5. #5
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Citation Envoyé par alex75
    que dois-je ajouter exactement ds mon classpath?
    Probablement JavaBeans Activation Framework ...
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 99
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par g_rare
    merci g_rare, je l'ai en effet téléchargé mais étant vraiment naz, je n'arrive pas à le charger dans eclipse...
    Peut-être que je ne le charge pas de la bonne façon?

    Parce que maintenant j'ai l'erreur suivante:

    java.lang.NoSuchMethodError: com.sun.activation.registries.MailcapFile.getMailcapList(Ljava/lang/StringLjava/util/Hashtable;
    Toujours le même .jar...

  7. #7
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    A priori ton JAR est bien chargé dans le "classpath", sinon ce serait une ClassNotFoundException" : par contre il y a peut-être incompatibilité entre ta version de JDK ou de Javamail [qui demandent que la classe com.sun.activation.registries.MailcapFile possède la méthode getMailcapList(String)] et ta version de JAF (qui ne répond plus a cette exigence).
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

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

Discussions similaires

  1. [Mail] Impossible d'envoyer des mails
    Par mrsoyer dans le forum Langage
    Réponses: 7
    Dernier message: 14/09/2012, 09h43
  2. [Mail] Impossible d'envoyer un mail()
    Par sayerh dans le forum Langage
    Réponses: 1
    Dernier message: 03/03/2008, 17h10
  3. Réponses: 8
    Dernier message: 11/02/2007, 20h07
  4. [PHPMailer] impossible d'envoyer un mail
    Par matrix13 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/07/2006, 10h36
  5. [Mail] Impossible d'envoyer un mail
    Par bugalood dans le forum Langage
    Réponses: 4
    Dernier message: 17/09/2005, 03h38

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