Office 365 邮件收件箱文件夹 EXPUNGE 在使用 java 邮件 API 的 IMAP 中失败



我正在使用带有IMAP协议的java邮件API连接Office 365邮箱。

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

上述功能在大约 72 小时内运行良好,然后 EXPUNGE 命令不断失败。以下是观察到的异常

javax.mail.MessagingException: A447 NO EXPUNGE 失败。 嵌 套 异常是: com.sun.mail.iap.CommandFailed异常: A447 NO 清除失败。 在 com.sun.mail.imap.IMAPFolder.expunge(IMAPFolder.java:2190( at com.sun.mail.imap.IMAPFolder.expunge(IMAPFolder.java:2151( at com.eiq.socvueportal.securitymonitoring.incidents.feeder.mail.IncidentsMailboxReader.expungeConnectionInbox(IncidentsMailboxReader.java:423( 在 com.eiq.socvueportal.securitymonitoring.incidents.feeder.mail.IncidentsMailboxReader.updateCompleteConnection(IncidentsMailboxReader.java:311( 在 com.eiq.socvueportal.securitymonitoring.incidents.feeder.mail.IncidentsMailboxReader.checkAndUpdateConnectionInstances(IncidentsMailboxReader.java:285( 在 com.eiq.socvueportal.securitymonitoring.incidents.feeder.mail.IncidentsMailboxReader.getUnreadIncidentMails(IncidentsMailboxReader.java:76( 在 com.eiq.socvueportal.securitymonitoring.incidents.feeder.worker.IncidentMailsProcessor.findAndProcessUnreadMails(IncidentMailsProcessor.java:200( 在 com.eiq.socvueportal.securitymonitoring.incidents.feeder.worker.IncidentMailsProcessor.run(IncidentMailsProcessor.java:85( 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142( 在 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 失败。 在 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 更多

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

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

最新更新