我正在尝试使用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);
答案 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);