我正在尝试抓取一个包含大约4000条消息的hotmail pop3帐户。 问题是由于在以下函数的非特定时间发生异常,我无法下载整个电子邮件:
recipients = message.getRecipients(type);
例外是:
java.lang.IllegalStateException: Folder is not Open
at com.sun.mail.pop3.POP3Folder.checkOpen(POP3Folder.java:539)
at com.sun.mail.pop3.POP3Folder.getProtocol(POP3Folder.java:569)
at com.sun.mail.pop3.POP3Message.loadHeaders(POP3Message.java:542)
at com.sun.mail.pop3.POP3Message.getHeader(POP3Message.java:336)
at javax.mail.internet.MimeMessage.getAddressHeader(MimeMessage.java:700)
at javax.mail.internet.MimeMessage.getRecipients(MimeMessage.java:534)
at edu.coeia.onlinemail.OnlineEmailDownloader.getAddress(OnlineEmailDownloader.java:568)
答案 0 :(得分:1)
您最有可能在访问邮件内容之前关闭了该文件夹。 如果要在关闭文件夹后访问邮件内容,则需要 在内存或磁盘上制作邮件的本地副本。