获取javax.mail.MessagingException:尝试使用IMAP连接到MS Exchange服务器时重置连接

时间:2013-11-07 06:22:15

标签: javamail

我正在尝试使用Javamail连接到Microsoft Exchange服务器。我使用了IMAP协议,并且启用了端口443以在Exchange服务器端进行侦听。我收到“javax.mail.MessagingException:Connection reset”错误。我正在使用javamail 1.4.7请帮助..

Properties prop = new Properties();

prop.setProperty("mail.imap.starttls.enable", "false");

// Use SSL
prop.setProperty("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
prop.setProperty("mail.imap.socketFactory.fallback", "false");

// Use port 443
prop.setProperty("mail.imap.port", "443");
prop.setProperty("mail.imap.socketFactory.port", "443");

prop.setProperty("mail.imaps.class", "com.sun.mail.imap.IMAPSSLStore");

Session session = Session.getDefaultInstance(prop);

Store store = session.getStore("imaps");
store.connect(hostname,username, password);

2 个答案:

答案 0 :(得分:0)

端口443是https端口,而不是imaps端口。

如果您想使用标准的IMAP-over-SSL端口,只需使用“imaps”协议,让JavaMail使用默认端口。

另外,请参阅代码中的某些common mistakes的JavaMail常见问题解答。

答案 1 :(得分:0)

非常感谢您的建议..是的,这确实是端口问题。正如所建议的那样,我修改了我的代码如下,现在工作正常。

Properties prop = new Properties();
//Use SSL
prop.setProperty("mail.smtp.ssl.enable",true);
Session session = Session.getInstance(prop);
Store store = session.getStore("imaps");
store.connect(hostname,username, password);