Office 365邮件收​​件箱文件夹EXPUNGE使用java邮件API与IMAP失败

Mal*_*n B 10 api imap jakarta-mail office365

我使用java邮件API与IMAP协议连接Office 365邮箱.

我们有连续的邮件流到邮箱,并通过java邮件API读取它们.读取邮件后,这些邮件将被移动到其他文件夹或删除.成功移动/删除批处理后,我正在对INBOX文件夹进行清除.

上述功能在72小时内表现良好,然后EXPUNGE命令不断失败.以下是观察到的例外情况

javax.mail.MessagingException:A447 NO EXPUNGE失败.嵌套异常是:com.sun.mail.iap.CommandFailedException:A447 NO EXPUNGE失败.at com.sun.mail.imap.IMAPFolder.expunge(IMAPFolder.java:2190)at com.si.mail.imap.IMAPFolder.expunge(IMAPFolder.java:2151)at com.eiq.socvportportal.securitymonitoring.incidents.feeder ..com.IncidentsMailboxReader.expungeConnectionInbox(IncidentsMailboxReader.java:423)位于com.eiq.socv.ports上的com.eiq.socvport.alcuritymonitoring.incidents.feeder.mail.IncidentsMailboxReader.updateCompletedConnection(IncidentsMailboxReader.java:311),来自com.eiq.socvportport.securitymonitoring.incidents.feeder ..com.IncidentsMailboxReader.checkAndUpdateConnectionInstances(IncidentsMailboxReader.java:285)位于com.eiq.socv.ports.securitymonitoring.itoridents.feeders.com的com.eiq.socvport.alcuritymonitoring.incidents.feeder.mail.IncidentsMailboxReader.getUnreadIncidentMails(IncidentsMailboxReader.java:76) .worker.IncidentMailsProcessor.findAndProcessUnreadMails(IncidentMailsProcessor.java:200),位于java.util的com.eiq.socvport.alcuritymonitoring.incidents.feeder.worker.IncidentMailsProcessor.run(IncidentMailsProcessor.java:85).concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)引起: com.sun.mail.iap.CommandFailedException:A447 NO EXPUNGE失败.at com.sun.mail.iap.Protocol.handleResult(Protocol.java:399)at com.sun.mail.iap.Protocol.simpleCommand(Protocol.java:425)at com.sun.mail.imap.protocol.IMAPProtocol .expunge(IMAPProtocol.java:1479)at com.sun.mail.imap.IMAPFolder.expunge(IMAPFolder.java:2183)... 10更多

如何避免这种情况?在什么情况下可以观察到这一点?

Bil*_*non 5

服务器的删除请求失败。请联系 Microsoft 以了解服务器出现故障的原因。作为解决方法,您可以关闭文件夹并重新打开它;当您关闭文件夹时,将完成删除。