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

标签 api office365 jakarta-mail imap

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

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

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

javax.mail.MessagingException: A447 NO EXPUNGE failed.; nested exception is: com.sun.mail.iap.CommandFailedException: A447 NO EXPUNGE failed. 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) at com.eiq.socvueportal.securitymonitoring.incidents.feeder.mail.IncidentsMailboxReader.updateCompletedConnection(IncidentsMailboxReader.java:311) at com.eiq.socvueportal.securitymonitoring.incidents.feeder.mail.IncidentsMailboxReader.checkAndUpdateConnectionInstances(IncidentsMailboxReader.java:285) at com.eiq.socvueportal.securitymonitoring.incidents.feeder.mail.IncidentsMailboxReader.getUnreadIncidentMails(IncidentsMailboxReader.java:76) at com.eiq.socvueportal.securitymonitoring.incidents.feeder.worker.IncidentMailsProcessor.findAndProcessUnreadMails(IncidentMailsProcessor.java:200) at com.eiq.socvueportal.securitymonitoring.incidents.feeder.worker.IncidentMailsProcessor.run(IncidentMailsProcessor.java:85) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: com.sun.mail.iap.CommandFailedException: A447 NO EXPUNGE failed. 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 more



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

最佳答案

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

关于api - Office 365 邮件收件箱文件夹 EXPUNGE 使用 java 邮件 API 使用 IMAP 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45503383/

相关文章:

office365 - Microsoft 图形 - 列出电子邮件 - 禁用对 OData 的访问

java - 是否可以在 GAE 上使用 2 路电子邮件中继?

java - 如何检查 Throwable 是否是由无效电子邮件地址导致的

java - 如果收件箱中的邮件数量超过 int 范围会怎样?

office365 - Microsoft Graph API 用户自定义属性

C++软件传递参数方法

python - linkedin 公司搜索 API 的多个方面?

api - Eventbrite API 列出事件 403

api - 惠普ALM | REST API 错误 ALM-E10004 : Failed to load project?

JAVA Mail 和 Office 365 在连接时挂起