2017-08-04 89 views
1

我正在使用带有IMAP协议的Java邮件API连接Office 365邮箱。办公室365邮件收​​件箱文件夹EXPUNGE失败,使用Java邮件API的IMAP

我们持续向邮箱发送邮件并通过Java邮件API读取这些邮件。一旦消息被读取,那些将被移动到其他文件夹或被删除。成功移动/删除一批后,我正在清除INBOX文件夹中。

上述功能在72小时左右表现良好,然后EXPUNGE命令不断失败。以下是观察到的异常:

javax.mail.MessagingException:A447 NO EXPUNGE failed .;嵌套0​​异常是:com.sun.mail.iap.CommandFailedException:A447 NO EXPUNGE失败。 at 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.updateCompletedConnection(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) 是java。 lang.Thread.run(Thread.java:745)导致: com.sun.mail.iap.CommandFailedException:A447没有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) 在com.sun.mail.imap.IMAPFolder.expunge(IMAPFolder.java:2183)... 10 更多

请提供建议,以避免这种。在什么情况下可以观察到?

谢谢。

回答

1

服务器未通过清除请求。与Microsoft联系以找出服务器失败的原因。作为解决方法,您可以关闭该文件夹并重新打开它;当您关闭该文件夹时将清除该清除。