Smtp JavaMail和Hotmail在Android上不起作用

Smtp JavaMail和Hotmail在Android上不起作用,smtp,jakarta-mail,hotmail,Smtp,Jakarta Mail,Hotmail,我无法使用JavaMail从hotmail地址发送电子邮件。我验证了我可以通过telnet端口587连接到smtp.live.com。有趣的是,如果我改变了: 主机=smtp.gmail.com t、 连接主机、用户名、密码 它在默认端口连接到Gmail,并发送电子邮件 但如果我将代码更改为: 主机=smtp.live.com t、 connecthost,587,用户名,密码; 它给了我以下错误: javax.mail.MessaginException:无法连接到SMTP主机:SMTP.li

我无法使用JavaMail从hotmail地址发送电子邮件。我验证了我可以通过telnet端口587连接到smtp.live.com。有趣的是,如果我改变了:

主机=smtp.gmail.com t、 连接主机、用户名、密码

它在默认端口连接到Gmail,并发送电子邮件

但如果我将代码更改为:

主机=smtp.live.com t、 connecthost,587,用户名,密码; 它给了我以下错误:

javax.mail.MessaginException:无法连接到SMTP主机:SMTP.live.com,端口:587

嵌套异常是:

java.io.IOException:SSL握手失败:SSL库中出现故障,通常是协议错误

错误:140770FC:SSL例程:SSL23\u GET\u SERVER\u HELLO:unknown protocol external/openssl/SSL/s23\u clnt.c:604 0xaf076228:0x00000000

通过session.setDebugtrue,我获得以下信息:

09-15 01:57:37.280:INFO/System.out720:DEBUG:getProvider返回javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.smtpsslttransport,sun Microsystems,Inc.,1.4.1] 09-15 01:57:37.300:INFO/System.out720:DEBUG SMTP:useEhlo true,useAuth true 09-15 01:57:37.310:INFO/System.out720:DEBUG SMTP:尝试连接到主机SMTP.live.com,端口587,isSSL true 09-15 01:57:37.330:INFO/SSLSocketFactory720:使用工厂org.apache.harmony.xnet.provider.jsse。OpenSSLSocketFactoryImpl@4007ed70 09-15 01:57:37.490:DEBUG/NativeCrypto720:SSL_OP_NO_SSLv3已设置 09-15 01:57:37.538:错误/NativeCrypto720:连接过程中出现未知错误1

看起来Hotmail与OpenSSL的关系不太好。有人能解决这个问题吗

下面是我的代码,以防万一

提前感谢,

J


我在向Hotmail/Outlook发送电子邮件时也遇到同样的问题

我通过将套接字工厂端口始终添加到属性中的578来解决此问题,如:

props.put("mail.smtp.socketFactory.port", "587");
对于hotmail,端口为25

props.put("mail.smtp.port", "25");

有点晚了,但可能会有帮助

尝试在代码周围使用代码标签[101010]。完成。有人有答案吗?你已经读过了吗??JavaMail smtp支持ssl吗?
props.put("mail.smtp.port", "25");