java从Outlook Javamail读取邮件
我正在尝试使用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。邮政MessaginException:无法识别的SSL消息,纯文本连接?; 嵌套异常是: javax。网ssl。SSLException:无法识别的SSL消息,纯文本连接? 在com。太阳邮政imap。IMAPStore。protocolConnect(IMAPStore.java:727)
任何指点都很感激
# 1 楼答案
端口143(您正在使用的)用于纯文本IMAP(因此出现错误消息
plaintext connection?
)。IMAPS使用端口993,所以试试看# 2 楼答案
你的代码很混乱。保持简单:
使用“imap”协议,但告诉JavaMail启用SSL。不要担心端口,JavaMail知道该做什么。更多详情请参阅JavaMail FAQ