我在用javax.mail读取163邮件的时候,有时会有很长一段时间报错,但有时是没有问题的。
代码和错误信息如下,有遇到这个问题的吗
private void getMessages() {
try {
String host = "pop.163.com";
System.setProperty("https.protocols", "TLSv1");
Properties p = new Properties();
p.setProperty("mail.pop3.host", "pop.qq.com"); // 按需要更改
p.setProperty("mail.pop3.port", "995");
// SSL安全连接参数
p.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
p.setProperty("mail.pop3.socketFactory.fallback", "true");
p.setProperty("mail.pop3.socketFactory.port", "995");
Session session = Session.getDefaultInstance(p, null);
Store store = session.getStore("pop3");
store.connect(host, username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
while (true) {
Message message;
try {
message = folder.getMessage(emailIndex);
} catch (Exception e) {
break;
}
emailIndex++;
MimeMessage mimeMessage = (MimeMessage) message;
String sender = this.getFrom(mimeMessage);
logger.msg("email=====" + sender + "=" + message.getSubject());
}
} catch (Exception e) {
e.printStackTrace();
}
}
javax.mail.AuthenticationFailedException: µÇ¼̫Ƶ·±!Çë¼ì²éÄúµÄoutlook, foxmail»òÕßÆäËü×Ô¶¯¼ì²âÓÊÏäµÄ¹¤¾ß(ÀýÈçÍøÒ×popoµÈÁÄÌ칤¾ß),½«¼ì²âµÄʱ¼ä¼ä¸ôµ÷´óһЩ£¬ÀýÈç5·ÖÖÓ¼à²âÒ»´Î.
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:207)
at javax.mail.Service.connect(Service.java:295)
at javax.mail.Service.connect(Service.java:176)
at com.core.service.timer.TimerTaskService.getMessages(TimerTaskService.java:72)
at com.core.service.timer.TimerTaskService.access$000(TimerTaskService.java:17)
at com.core.service.timer.TimerTaskService$BaseTimerTaskAction.execute(TimerTaskService.java:32)
at com.core.service.base.CallbackService.invokeAction(CallbackService.java:16)
at com.core.action.TimerTaskAction.invoke(TimerTaskAction.java:14)
at com.core.action.TimerTaskAction.run(TimerTaskAction.java:28)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)