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]Erreur avec JavaMail


Sujet :

API standards et tierces Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 54
    Points : 35
    Points
    35
    Par défaut [JavaMail]Erreur avec JavaMail
    Bonjour à tous !

    Je sais ça peut paraitre bizarre, mais après avoir upgradé mon jdk à la version 5.0, j'obtiens cette erreure lorsque je travaille avec JavaMail :

    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:1124)
    at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:1927)
    at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1908)
    at javax.mail.Transport.send(Transport.java:79)
    at com.exercices.Controller.TestMail.EnvoyerMail(TestMail.java:45)
    at com.exercices.Controller.TestMail.main(TestMail.java:56)
    Exception in thread "main"


    Et si je veux mettre à jour le fichier j2ee.jar c'est parce qu'en faisant des recherches sur Google je suis tombé la dessus :

    I recently upgraded my JDK to v5.0. After upgrading I was receiving the following exception when trying to send email via Java:

    Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport at javax.activation.MailcapCommandMap.(MailcapCommandMap.java:111)

    The problem is that the new JDK j2ee.jar has an incorrect version of the class MailcapCommandMap in it.

    Solution : Make sure you have the latest version of JAF (activation.jar). This jar has the correct version of MailcapCommandMap. Then delete the entire activation package from your j2ee.jar.


    Donc ça à l'air d'être pile poils mon problème mais j'ai à vrai dire jamais eu à trifouiller un .jar... Et j'avoue ne pas savoir comment remplacer un package par un autre...



    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Membre habitué Avatar de relivio
    Profil pro
    Inscrit en
    Février 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 157
    Points : 177
    Points
    177
    Par défaut
    bonjour,

    tu peux l'ouvrir en tant que zip et modifier l'archive avec les classes que tu veux insérer.

    olivier

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 54
    Points : 35
    Points
    35
    Par défaut
    Oui en fait c'était tout con...
    Mais apparemment le problème ne venait peut-être pas de la classe vu ke je me tape la même erreure...
    Mais bon ça c'est un autre problème...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 54
    Points : 35
    Points
    35
    Par défaut
    Bon j'ai fais une erreure d'étourderie... Finalement le changement a bien opéré...
    Mais j'ai néanmoins encore une question, à savoir que dans un tuto sur JavaMail j'ai vu un exemple qui commençait avec une méthode comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static boolean EnvoyerMail(String serveur, boolean debug) {
    Mais qu'est ce que je dois entendre par "serveur", son adresse IP ou mon nom de domaine ??

  5. #5
    Membre actif
    Inscrit en
    Juillet 2003
    Messages
    407
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 407
    Points : 252
    Points
    252
    Par défaut
    son ip

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 54
    Points : 35
    Points
    35
    Par défaut
    Merci de la réponse !!
    Donc en toute logique, lorsque je veux faire un test en local, je mets par exemple :

    EnvoyerMail("127.0.0.1", true);

    Pourtant ça me met toujours cette erreure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
      nested exception is:
    	java.net.ConnectException: Connection refused: connect
    	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1227)
    	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:322)
    	at javax.mail.Service.connect(Service.java:236)
    	at javax.mail.Service.connect(Service.java:137)
    	at javax.mail.Service.connect(Service.java:86)
    	at javax.mail.Transport.send0(Transport.java:150)
    	at javax.mail.Transport.send(Transport.java:80)
    	at com.exercices.Controller.TestMail.EnvoyerMail(TestMail.java:45)
    	at com.exercices.Controller.TestMail.main(TestMail.java:56)

  7. #7
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Ethylene
    Donc en toute logique, lorsque je veux faire un test en local, je mets par exemple :

    EnvoyerMail("127.0.0.1", true);
    Tu as bien un serveur SMTP qui tourne sur ta machine au moins ????

    a++

  8. #8
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 54
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par adiGuba
    Salut,

    Citation Envoyé par Ethylene
    Donc en toute logique, lorsque je veux faire un test en local, je mets par exemple :

    EnvoyerMail("127.0.0.1", true);
    Tu as bien un serveur SMTP qui tourne sur ta machine au moins ????

    a++
    En fait non lol !
    Le fait de tourner en rond me fait écrire des anneries, désolé...
    Mais par contre dans les erreures il me met systématiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
      nested exception is:
    	java.net.ConnectException: Connection refused: connect...
    alors que je lui est précisé dans la méthode ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static boolean EnvoyerMail(String serveur, boolean debug) {
    		boolean result = false;
    		try{
    			Properties props = System.getProperties();
    			props.put("smtp.magic.fr", serveur);
    			Session session = Session.getDefaultInstance(props, null); ...
    S'il y a erreure il devrait me dire plutôt ce genre de chose non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    javax.mail.MessagingException: Could not connect to SMTP host: smtp.magic.fr, port: 25;
      nested exception is:
    	java.net.ConnectException: Connection refused: connect...
    Où est ce que je dis encore une annerie ?

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Pourquoi as-tu changer la clef de la propriété "mail.smtp.host" ??? Cette propriété doit contenir le nom (ou l'adresse IP) de la machine SMTP.

    Donc il faut laisser dans le code de la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    props.put("mail.smtp.host", serveur);
    Et appeller la méthode avec ton host :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EnvoyerMail("smtp.magic.fr", true);
    a++

  10. #10
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 54
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par adiGuba
    Pourquoi as-tu changer la clef de la propriété "mail.smtp.host" ???
    Paske j'étais po au courant ke ça se passait comme ça lol !!
    J'ai foncé tel un newbie sur le code sans bien inspecter ce ke m'indiquait le tuto !
    Grand merci à toi de m'avoir ramener sur la bonne voie !!


    Maintenant ça marche nickel !

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

Discussions similaires

  1. Erreur avec javamail
    Par kyrillos52 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 07/10/2010, 11h04
  2. une erreur 550 relaying denied avec javamail
    Par une_tite_question dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 15/05/2008, 17h06
  3. [JavaMail] Mail avec javamail super lent ?
    Par Baptiste Wicht dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 19/01/2006, 12h59
  4. [JavaMail] Pb avec accent dans sujet et corps de l'email
    Par shaun_the_sheep dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 29/10/2004, 12h42
  5. [javamail] erreur d'execution
    Par bibx dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 05/12/2003, 11h04

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