Je rencontre des difficultés pour envoyer des e-mails à partir d'une adresse Hotmail en utilisant JavaMail. J'ai vérifié que je peux me connecter à smtp.live.com par l'intermédiaire du port 587 de telnet. La chose intéressante (à moi) est si je change:JavaMail et Hotmail ne fonctionnent pas sur Android
t.connect (hôte, nom d'utilisateur , mot de passe);
Il se connecte à Gmail très bien sur le port par défaut et envoie un e-mail.
Mais si je change le code:
host = "smtp.live.com" t.connect (hôte, 587, nom d'utilisateur, mot de passe); Il me donne l'erreur suivante:
javax.mail.MessagingException: Impossible de se connecter à l'hôte SMTP: smtp.live.com, port: 587;
exception imbriquée est:
java.io.IOException: échec de négociation SSL: échec dans la bibliothèque SSL, généralement une erreur de protocole
erreur: 140770FC: routines SSL: SSL23_GET_SERVER_HELLO: protocole inconnu (externe/OpenSSL /ssl/s23_clnt.c:604 0xaf076228: 0x00000000)
Avec session.setDebug (true) Je reçois cette info:
09-15 01: 57: 37,280: INFO/System.out (720): DEBUG: getProvider() retourne javax.mail.Provider [TRANSPORT, smtps, com.sun.mail.smtp.SMTPSSLTransport, Sun Microsystems, Inc., 1.4.1] 09-15 01: 57: 37.300: INFO/System.out (720): DEBUG SMTP: useEhlo vrai, useAuth vrai 09-15 01: 57: 37.310: INFO/System.out (720): DEBUG SMTP: tentative de connexion à l'hôte "smtp.live.com", port 587, isSSL true 09-15 01: 57: 37.330: INFO/SSLSocketFactory (720): Utilisation de la fabrique [email protected]007ed70 09-15 01: 57: 37.490: DEBUG/NativeCrypto (720): SSL_OP_NO_SSLv3 est défini 09-15 01:57 : 37.538: ERROR/NativeCrypto (720): Erreur inconnue 1 lors de la connexion
Il semblerait que Hotmail ne fonctionne pas bien avec OpenSSL. Quelqu'un at-il une solution pour cela?
Ci-dessous est mon code dans ... juste au cas où cela aide.
Merci à l'avance,
J
String host = "smtp.live.com";
String username = [email protected];
String password = "**";
Transport t = null;
Properties props = new Properties();
props.put("mail.smtps.auth", "true");
//props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
Session session = Session.getInstance(props);
session.setDebug(true);
try{
MimeMessage msg = new MimeMessage(session);
msg.setSubject("Testing SMTP-SSL");
msg.setContent("This is a test", "text/plain");
msg.setFrom(new InternetAddress(username));
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(username, false));
t = session.getTransport("smtps");
t.connect(host,587, username, password);
t.sendMessage(msg, msg.getAllRecipients());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
t.close();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Essayez d'utiliser les balises de code [101010] autour de votre code. – jacknad
Terminé. Quelqu'un a-t-il une réponse? – jrhea
avez-vous déjà lu http: // stackoverflow.com/questions/3069966/connect-à-hotmail-avec-javamail ?? est-ce que javamails smtp support ssl? –