我正在使用Javamail对gmail imap服务器进行身份验证,并一次获取一个完整邮箱的邮件头并在本地编制索引.对于消息很少的收件箱,这很好用.对于邮件通常超过10k的收件箱,javamail imap连接被删除(可能由服务器).需要注意的是,此持续时间是随机的.
由于我一个接一个地连续获取消息头,因此没有时间连接空闲很长时间,因此它不能是超时.
– – – – – – – – – – – – – – – 码 – – – – – – – – – – ————-
IMAPSSLStore imapSslStore = connectToImap(“imap.googlemail.com”,993,email,oauthToken,oauthTokenSecret,getMyConsumer(),true);
System.out.println(“Successfully authenticated to IMAP.\n”);
Folder inBox = imapSslStore.getFolder(“[Gmail]/All Mail”);
inBox.open(Folder.READ_ONLY);
Message messages[] = inBox.getMessages();
for(Message message:messages) {
System.out.println(message);
System.out.println(“MSG NO:”+message.getMessageNumber());
System.out.println(“FROM:”+message.getFrom().toString());
}
– – – – – – – – – – – – – – – -码 – – – – – – – – – ————————–
异常跟踪:
[java] javax.mail.FolderClosedException: * BYE JavaMail Exception: java.io.IOException: **Connection dropped by server?**
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194)
[java] at org.apache.tools.ant.taskde