Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1834 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  programme java pour envoyer des mails

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

programme java pour envoyer des mails

n°1171581
Skyline_GT​R
Posté le 07-08-2005 à 12:17:42  profilanswer
 

Salut tout le monde,
 
J'essai d'exécuter un programme java qui permet en théorie d'envoyer des mails mais ça ne marche pas : à la compilation y a pas d'erreurs mais à l'exécution ça me met  : "Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/MessagingException"
 
Jai lu le topic de benou sur ce sujet mais j'ai pas réussi à trouver mon erreur, j'utilise l'éditeur de commande de XP pour compiler et exécuter les programmes. Voici le code source du programme que j'ai appelé : Envoi.java  
 
import java.io.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
 
public class Envoi {
 
/** Destinataire du message. */
protected String message_dest = "adresse@tiscali.fr";
/* Objet du message. */
protected String message_objet = "Re: Essai ";
/** Destinataire du message en copie (CC). */
protected String message_cc = "adresse@tiscali.fr";
/** 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.tiscali.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("adresse@tiscali.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) {
Envoi env = new Envoi();
env.envoyerMail();
}
}

mood
Publicité
Posté le 07-08-2005 à 12:17:42  profilanswer
 

n°1171584
benou
Posté le 07-08-2005 à 12:35:38  profilanswer
 

si t'as lu mon topic, tu sais ce que signifie cette exception : il ne trouve pas MessagingException à l'execution => le classpath que tu utilises à l'execution n'inclut surement pas le jar JavaMail (mail.jar ou mail-api.jar)


---------------
ma vie, mon oeuvre - HomePlayer
n°1171585
Skyline_GT​R
Posté le 07-08-2005 à 12:42:37  profilanswer
 

OK j'essaie de revérifier tout ça, le pbm c'est que si je ferme l'éditeur de commande je dois tout recommencer (path et classpath) y a pas une solution pour le faire définitivement

n°1171591
Skyline_GT​R
Posté le 07-08-2005 à 12:57:08  profilanswer
 

Voici la commande pour le classpath sue j'ai fais :
C:\>SET CLASSPATH=%CLASSPATH%;C:\javamail-1.3.2\mail.jar;C:\jaf-1.1ea\activation.jar
 
Mais maintenant il me met ça :  
Exception in thread "main" java.lang.NoClassDefFoundError: Envoi
 
Je vais craquer!!!
 
 

n°1171605
Skyline_GT​R
Posté le 07-08-2005 à 13:16:21  profilanswer
 

ça marche!!!!!!!!!!!
 
il manquait le classpath suivant : C:\javamail-1.3.3ea\mail.jar
 
Merci à Benou :-)

n°1171607
benou
Posté le 07-08-2005 à 13:18:15  profilanswer
 

si tu avais bien lu mon topic, tu aurais vu qu'il y avait une méthode pratique qui consistait à créer des fichier batch pour fixer le classpath ...
 
et tu aurais aussi vu que si tu ne mets pas le '.' dans le classpath, il n'ira pas chercher les classes dans le répertoire courant => il ne trouvera pas ta classe Envoi [:spamafote]
 
je sais que c'est pas évident au début, mais si tu fais bien gaffe et que tu procèdes par étapes, tu verras que tout marche correctement.
 
Et la première étape, c'est pas d'envoyer un mail, mais juste de faire un HelloWorld :)


Message édité par benou le 07-08-2005 à 13:20:03

---------------
ma vie, mon oeuvre - HomePlayer
n°1171608
benou
Posté le 07-08-2005 à 13:19:19  profilanswer
 

Skyline_GTR a écrit :

il manquait le classpath suivant : C:\javamail-1.3.3ea\mail.jar
Merci à Benou :-)


heu ... c'est surement pas ça qui a corrigé l'erreur du noclassdeffound sur ta classe Envoi, hein ;)


---------------
ma vie, mon oeuvre - HomePlayer
n°1171610
fan_tomass​ss
Toi plus!
Posté le 07-08-2005 à 13:21:01  profilanswer
 

salut
ben il est où ton constructeur?
 
tu l'appelle dans le main, mais il n'est pas déclaré ...

n°1171611
Skyline_GT​R
Posté le 07-08-2005 à 13:21:26  profilanswer
 

ok c'est bon j'aui fais un fichier .bat pour les classpath
 
Je ne suis pas un débutant :-) mais disons que ça fais très longtemps que je n'avais plus fais de java

n°1171615
Skyline_GT​R
Posté le 07-08-2005 à 13:22:46  profilanswer
 

tu peux être plus clair fann_tomasss

mood
Publicité
Posté le 07-08-2005 à 13:22:46  profilanswer
 

n°1171616
benou
Posté le 07-08-2005 à 13:23:24  profilanswer
 

fan_tomassss a écrit :

salut
ben il est où ton constructeur?
tu l'appelle dans le main, mais il n'est pas déclaré ...


Constructeur par défaut :o


---------------
ma vie, mon oeuvre - HomePlayer
n°1171618
fan_tomass​ss
Toi plus!
Posté le 07-08-2005 à 13:25:20  profilanswer
 

au temps pour moi ça fait un p'tit temps que j'ai pas programmé.

n°1171621
Skyline_GT​R
Posté le 07-08-2005 à 13:26:08  profilanswer
 

Je ne suis pas l'auteur de ce programme (je ne serais jamais capable de faire ça!!)
 
Voici la source :
 
http://www.supinfo-projects.com/fr/2005/java%5Fmail/2/

n°1171624
benou
Posté le 07-08-2005 à 13:29:36  profilanswer
 

Skyline_GTR a écrit :

(je ne serais jamais capable de faire ça!!)


tu vois bien que t'es débutant ;)
(c'est pas une tare)


---------------
ma vie, mon oeuvre - HomePlayer
n°1171631
Skyline_GT​R
Posté le 07-08-2005 à 13:37:09  profilanswer
 

un dernier petit point dans le fichier .bat j'ai mis ça :
 
SET CLASSPATH=.
SET CLASSPATH=%CLASSPATH%;C:\jaf-1.1ea\activation.jar
SET CLASSPATH=%CLASSPATH%;C:\javamail-1.3.2\mail.jar
SET CLASSPATH=%CLASSPATH%;C:\javamail-1.3.3ea\mail.ja
 
Est ce que en rajoutanr la ligne suivante :
path = C:\Sun\AppServer\jdk\bin
 
je dois mettre aussi le point :
path = .
 

n°1171634
benou
Posté le 07-08-2005 à 13:42:10  profilanswer
 

si tu poses cette question, c'est que tu n'as pas compris ce qu'était le classpath. je t'invite à relire mon topic.
 
on en rediscute après si tu n'as toujours pas compris.


---------------
ma vie, mon oeuvre - HomePlayer
n°1171635
Skyline_GT​R
Posté le 07-08-2005 à 13:44:08  profilanswer
 

OK Professeur Benou !

n°1171641
Skyline_GT​R
Posté le 07-08-2005 à 13:51:40  profilanswer
 

C'est bon si j'ai bien compris, il faut faire ça :
 
SET CLASSPATH=.
SET CLASSPATH=%CLASSPATH%;C:\jaf-1.1ea\activation.jar
SET CLASSPATH=%CLASSPATH%;C:\javamail-1.3.2\mail.jar
SET CLASSPATH=%CLASSPATH%;C:\javamail-1.3.3ea\mail.jar  
SET CLASSPATH=%CLASSPATH%;C:\Sun\AppServer\jdk\bin


Message édité par Skyline_GTR le 07-08-2005 à 13:52:40
n°1171647
benou
Posté le 07-08-2005 à 13:58:59  profilanswer
 

Skyline_GTR a écrit :


SET CLASSPATH=%CLASSPATH%;C:\Sun\AppServer\jdk\bin


mais nan /o\
 
pourquoi est ce que tu veux mettre C:\Sun\AppServer\jdk\bin dans ton classpath ? y a pas de classes dans ce répertoire !
 
Tu confond classpath (chemins où java va aller chercher les fichiers .class) et path (chemins où l'OS va aller chercher les fichiers executables)


---------------
ma vie, mon oeuvre - HomePlayer
n°1171649
Skyline_GT​R
Posté le 07-08-2005 à 14:02:20  profilanswer
 

ok effectivement ça marche plus!
 
je dois juste rajouter path = C:\Sun\AppServer\jdk\bin


Message édité par Skyline_GTR le 07-08-2005 à 14:04:46
n°1171744
sircam
I Like Trains
Posté le 07-08-2005 à 16:39:23  profilanswer
 

[:kiki]
 
Pauvre benou.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  programme java pour envoyer des mails

 

Sujets relatifs
Problème de lancement de script java en asp :(Java Soap
[WebServices/SOAP] Serveur php NuSOAP / Client JAVA/JSPmesure de performance d'un programme
installation de javaSauter une ligne dans un programme
Java, OAS et Single Sign Onlecteur java
Saut de ligne en javaCacher un programme ?
Plus de sujets relatifs à : programme java pour envoyer des mails


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR