我试图使用javamail阅读来自outlook的电子邮件
此处为代码段。
try {
Properties props = new Properties();
props.setProperty("mail.store.protocol", "imap");
props.setProperty("mail.imaps.starttls.enable", "true");
props.setProperty("mail.imaps.host", "outlook.office365.com");
props.setProperty("mail.imaps.port", "143");
Session mailSession = Session.getInstance(props);
mailSession.setDebug(true);
Store mailStore = mailSession.getStore("imaps");
mailStore.connect("outlook.office365.com", "<username>", "<password>");
} catch (Exception ex){
ex.printStackTrace();
}
异常
javax.mail.MessagingException:无法识别的SSL消息,明文连接? 嵌套异常是: javax.net.ssl.SSLException:无法识别的SSL消息,明文连接? 在com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:727)
任何指针都表示赞赏。
答案 0 :(得分:1)
您的代码非常混乱。保持简单:
Properties props = new Properties();
props.setProperty("mail.imap.ssl.enable", "true");
Session mailSession = Session.getInstance(props);
mailSession.setDebug(true);
Store mailStore = mailSession.getStore("imap");
mailStore.connect("outlook.office365.com", "<username>", "<password>");
使用“imap”协议,但告诉JavaMail启用SSL。不要担心端口,JavaMail知道该怎么做。 JavaMail FAQ中的更多细节。
答案 1 :(得分:0)
端口143(您正在使用的)用于纯文本IMAP(因此错误消息plaintext connection?
)。 IMAPS使用端口993,所以试试吧。