java.lang.IllegalStateException:在关闭的文件夹上不允许执行此操作

问题描述 投票:0回答:1
store.connect("outlook.office365.com", "[email protected]", token);
            
            Folder folder = store.getFolder("INBOX");
            Message[] messages = folder.getMessages();
            
            for(Message msg : messages) {
                System.out.println(msg);
            }

当我尝试提取信息时,我正在尝试读取与 Microsoft Azure 中的 javaMail 关联的电子邮件的消息,但出现以下 oauth2 协议错误:

Exception in thread "main" java.lang.IllegalStateException: This operation is not allowed on a closed folder
    at com.sun.mail.imap.IMAPFolder.checkOpened(IMAPFolder.java:478)
    at com.sun.mail.imap.IMAPFolder.getMessages(IMAPFolder.java:1856)
    at com.communication.quickstart.ExecuteTwo.main(ExecuteTwo.java:57)

在 com.sun.mail.imap.IMAPFolder.checkOpened(IMAPFolder.java:478)

java spring-boot azure oauth-2.0
1个回答
0
投票

我有同样的问题,我必须先打开文件夹

store.connect("outlook.office365.com", "[email protected]", token);

Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY); // Can be also Folder.READ_WRITE
Message[] messages = folder.getMessages();

for(Message msg : messages) {
    System.out.println(msg);
}
© www.soinside.com 2019 - 2024. All rights reserved.