Java Mail FolderClosedException

时间:2013-11-25 22:25:56

标签: java email imap

一小段Java代码用于读取“bunced”电子邮件的IMAP邮箱,并在我们的数据库中设置标志。我们发现代码在处理一些电子邮件时会抛出“FolderClosedException”。这是一个测试它的函数:

private void processStore(Store store) throws MessagingException {
    Folder folder=store.getDefaultFolder();

    Folder inboxfolder=folder.getFolder("INBOX");

    inboxfolder.open(Folder.READ_ONLY);

    Message[] msgs=inboxfolder.getMessages();

    FetchProfile fp=new FetchProfile();
    fp.add("Subject");
    fp.add(FetchProfile.Item.ENVELOPE);
//  problematic
//  fp.add(FetchProfile.Item.CONTENT_INFO);


    inboxfolder.fetch(msgs,fp);

    for(int i=0;i<msgs.length;++i){
        System.out.println(inboxfolder.isOpen());
        System.out.println(msgs[i].getSubject());
    }
}

我们在这里发现的是,对于那些有问题的电子邮件,如果我们注释掉标记为“有问题”的行,那么每件事都可以。但是,一旦我们取消注释,inboxfolder.isOpen()就会打印falsemsgs[i].getSubject()抛出FolderClosedException

我们重新调查这可能是Java Mail或我们的邮件服务器(postfix)的问题。那么有没有人知道为什么会发生这种情况,和/或如何诊断和找出导致这个问题的原因?

0 个答案:

没有答案