最近在写获取QQ邮箱里的邮件,测试一直没有问题,发布到生产环境后,加了几个用户过了一段时间后结果查看日志时,有的正常,有的出现错误,一直在报错,错误如下:
javax.mail.MessageRemovedException: can't retrieve message #2 in POP3Message.getContentStream
at com.sun.mail.pop3.POP3Message.getRawStream(POP3Message.java:180)
at com.sun.mail.pop3.POP3Message.getContentStream(POP3Message.java:271)
at com.sun.mail.pop3.POP3Message.loadHeaders(POP3Message.java:635)
at com.sun.mail.pop3.POP3Message.getHeader(POP3Message.java:383)
at javax.mail.internet.MimeMessage.getSentDate(MimeMessage.java:846)
at email.MailImfo.getSentDate(MailImfo.java:176)
at email.GetMailInfoThread.run(GetMailInfoThread.java:47)
能够获取到邮件,配置并没有什么问题,就是获取发送时间的时候为null。
解决方案:
找了很久的百度,google,还是没找到问题,然后就参试瞎几把猜,把授权码重新获取了一下,结果还真就成了。
结果找到最终原因是修改QQ密码会让授权码失效,但是失效了还是能用(巨坑)