Bonjour,
Je cherche à créer une alerte mail avec javamail. J'ai créé un bean :
(code tiré de ce site :http://www.supinfo-projects.com/fr/2005/java%5Fmail/2/=
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 package servlets.index; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class Envoi { /** Destinataire du message. */ private String message_dest = "mail@hotmail.com"; /* Objet du message. */ private String message_objet = "Re: detail du sujet "; /** Destinataire du message en copie (CC). */ private String message_cc = "i@caramail.fr"; /** Texte du message. */ private String message_corps = "Bonjour dans une semaine vous recevrez de " + "plus amples détails sur " + "le sujet de votre choix"; /** Objet session de JavaMail. */ private Session session; /** Objet message de JavaMail. */ private Message mesg; String serveurSMTP = "xxx.xxx.xx.xx"; 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.essai.net", serveurSMTP); // Créer lobjet 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("itr@kerlink.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(); } } } }
j'appelle la fonction envoyerMail() dans ma JSP :
et j'obtiens l'erreur suivante :java.lang.ClassCastException
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <jsp:useBean id="envoi" class="servlets.index.Envoi" scope="session"/> <% envoi.envoyerMail();
dans le fichier de log j'ai ça :
DEBUG: setDebug: JavaMail version 1.4ea
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "localhost", port 25, isSSL false
qn a une idée ?
Partager