JavaMail Envoi mail Exception
J'ai codé une application, et je veux utiliser l'envoi de mails, j'ai trouvé ce code sur le net :
Code:
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
| package envoiMail;
import javax.mail.internet.*;
import javax.mail.*;
import java.util.*;
/**
* Classe permettant d'envoyer un mail.
*/
public class TestMail {
private final static String MAILER_VERSION = "Java";
public static boolean envoyerMailSMTP(String serveur, boolean debug) {
boolean result = false;
try {
Properties prop = System.getProperties();
prop.put("mail.smtp.host", serveur);
Session session = Session.getDefaultInstance(prop,null);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("moi@gmail.com"));
InternetAddress[] internetAddresses = new InternetAddress[1];
internetAddresses[0] = new InternetAddress("moimeme@gmail.com");
message.setRecipients(Message.RecipientType.TO,internetAddresses);
message.setSubject("Test");
message.setText("test mail");
message.setHeader("X-Mailer", MAILER_VERSION);
message.setSentDate(new Date());
session.setDebug(debug);
Transport.send(message);
result = true;
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
TestMail.envoyerMailSMTP("smtp.gmail.com",true);
}
} |
Et quand je le teste, j'ai cette exception :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 25, isSSL false
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 25;
nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1282)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
at javax.mail.Service.connect(Service.java:275)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
at javax.mail.Transport.send0(Transport.java:168)
at javax.mail.Transport.send(Transport.java:98)
at envoiMail.TestMail.envoyerMailSMTP(TestMail.java:28)
at envoiMail.TestMail.main(TestMail.java:39) |
je ne comprends pas un truc, pour envoyer un mail depuis la messagerie "moi@gmail.com", on doit pouvoir y accéder, mais dans le code, on ne spécifie nul part le password, et je pense que c'est ca qui bloque...
une idée ?