2017-08-04 87 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聯繫以找出服務器失敗的原因。作爲解決方法,您可以關閉該文件夾並重新打開它;當您關閉該文件夾時將清除該清除。