Bonjour,
Je tente d'envoyer un email mais j'obtiens une exception.
Je ne vois pas la différence entre envoyer un mail de Outlook (par exemple au travail) et envoyer un message d'un PC privé (chez moi) en utilisant la même classe ?
Voici ma classe:
L'exception :
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129 package jMail; import java.util.Date; import java.util.Properties; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class Mail { private String to; private String from; private String message; private String subject; private String smtpServ; /** * @return the to */ public String getTo() { return to; } /** * @param to the to to set */ public void setTo(String to) { this.to = to; } /** * @return the from */ public String getFrom() { return from; } /** * @param from the from to set */ public void setFrom(String from) { this.from = from; } /** * @return the message */ public String getMessage() { return message; } /** * @param message the message to set */ public void setMessage(String message) { this.message = message; } /** * @return the subject */ public String getSubject() { return subject; } /** * @param subject the subject to set */ public void setSubject(String subject) { this.subject = subject; } /** * @return the smtpServ */ public String getSmtpServ() { return smtpServ; } /** * @param smtpServ the smtpServ to set */ public void setSmtpServ(String smtpServ) { this.smtpServ = smtpServ; } public int sendMail(){ try { Properties props = System.getProperties(); // -- Attaching to default Session, or we could start a new one -- props.put("mail.transport.protocol", "smtp" ); props.put("mail.smtp.starttls.enable","true" ); props.put("mail.smtp.host",smtpServ); props.put("mail.smtp.auth", "true" ); Authenticator auth = new SMTPAuthenticator(); Session session = Session.getInstance(props, auth); // -- Create a new message -- Message msg = new MimeMessage(session); // -- Set the FROM and TO fields -- msg.setFrom(new InternetAddress(from)); msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false)); msg.setSubject(subject); msg.setText(message); // -- Set some other header information -- msg.setHeader("MyMail", "Mr. XYZ" ); msg.setSentDate(new Date()); // -- Send the message -- Transport.send(msg); System.out.println("Message sent to"+to+" OK." ); return 0; } catch (Exception ex) { System.out.println("Exception "+ex); return -1; } } // Also include an inner class that is used for authentication purposes private class SMTPAuthenticator extends javax.mail.Authenticator { @Override public PasswordAuthentication getPasswordAuthentication() { String username = "myEmail@"; String password = "myPassword"; return new PasswordAuthentication(username, password); } } }
Quelqu'un saurait-il m'indiquer comment résoudre ce problème ?INFO: Exception javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
INFO: WEB0671: Loading application [JavaMail] at [/JavaMail]
INFO: JavaMail was successfully deployed in 266 milliseconds.
INFO: Exception javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
INFO: The Admin Console is already installed, but not yet loaded.
INFO: The Admin Console is starting. Please wait.
INFO: Initializing Mojarra 2.1.6 (SNAPSHOT 20111206) for context ''
INFO: Created EjbThreadPoolExecutor with thread-core-pool-size 16 thread-max-pool-size 32 thread-keep-alive-seconds 60 thread-queue-capacity 2147483647 allow-core-thread-timeout false
INFO: Initiating Jersey application, version 'Jersey: 1.11 12/09/2011 10:27 AM'
INFO: WEB0671: Loading application [__admingui] at [/]
INFO: CORE10010: Loading application __admingui done in 5,343 ms
INFO: The Admin Console application is loaded.
INFO: REST00001: Listening to REST requests at context: /management/domain
WARNING: PWC4011: Unable to set request character encoding to UTF-8 from context , because request parameters have already been read, or ServletRequest.getReader() has already been called
INFO: Redirecting to /login.jsf
INFO: Admin Console: Initializing Session Attributes...
Merci d'avance pour votre aide.
Partager