javax.mail.MessagineException:A4没有复制失败或部分完成

javax.mail.MessagineException:A4没有复制失败或部分完成,java,outlook,jakarta-mail,exchange-server,Java,Outlook,Jakarta Mail,Exchange Server,我正在尝试在解析outlook电子邮件后将其移动到另一个文件夹中,以便不再在Java中解析相同的电子邮件。代码有时工作正常,但有时在部分执行后会引发异常。我不确定是什么原因造成的 例外情况: Dec 07, 2015 4:55:50 PM email.TransferReadEmails removeReadEmails SEVERE: ERROR!!A4 NO COPY failed or partially completed. javax.mail.MessagingException:

我正在尝试在解析outlook电子邮件后将其移动到另一个文件夹中,以便不再在Java中解析相同的电子邮件。代码有时工作正常,但有时在部分执行后会引发异常。我不确定是什么原因造成的

例外情况:

Dec 07, 2015 4:55:50 PM email.TransferReadEmails removeReadEmails
SEVERE: ERROR!!A4 NO COPY failed or partially completed.
javax.mail.MessagingException: A4 NO COPY failed or partially completed.;
  nested exception is:
    com.sun.mail.iap.CommandFailedException: A4 NO COPY failed or partially completed.
    at com.sun.mail.imap.IMAPFolder.copyMessages(IMAPFolder.java:1553)
    at email.TransferReadEmails.transfer(TransferReadEmails.java:32)
    at email.TransferReadEmails.removeReadEmails(TransferReadEmails.java:65)
    at email.ReadingEmail.readEmails(ReadingEmail.java:146)
    at swingFrames.LaunchPanel.runProcess(LaunchPanel.java:994)
    at swingFrames.LaunchPanel.startOperationButtonMouseClicked(LaunchPanel.java:850)
    at swingFrames.LaunchPanel.access$600(LaunchPanel.java:48)
    at swingFrames.LaunchPanel$7.mouseClicked(LaunchPanel.java:191)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
    at java.awt.Component.processMouseEvent(Component.java:6519)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
    at java.awt.Component.processEvent(Component.java:6281)
    at java.awt.Container.processEvent(Container.java:2229)
    at java.awt.Component.dispatchEventImpl(Component.java:4872)
    at java.awt.Container.dispatchEventImpl(Container.java:2287)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    at java.awt.Container.dispatchEventImpl(Container.java:2273)
    at java.awt.Window.dispatchEventImpl(Window.java:2719)
    at java.awt.Component.dispatchEvent(Component.java:4698)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:706)
    at java.awt.EventQueue$3.run(EventQueue.java:704)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    at java.awt.EventQueue$4.run(EventQueue.java:720)
    at java.awt.EventQueue$4.run(EventQueue.java:718)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: com.sun.mail.iap.CommandFailedException: A4 NO COPY failed or partially completed.
    at com.sun.mail.iap.Protocol.handleResult(Protocol.java:344)
    at com.sun.mail.iap.Protocol.simpleCommand(Protocol.java:366)
    at com.sun.mail.imap.protocol.IMAPProtocol.copy(IMAPProtocol.java:1479)
    at com.sun.mail.imap.protocol.IMAPProtocol.copy(IMAPProtocol.java:1461)
    at com.sun.mail.imap.IMAPFolder.copyMessages(IMAPFolder.java:1545)
    ... 39 more
我的代码:

//Function to copy and delete the messages from INBOX (Destination Folder: READ)
private static void transfer(Folder folder_source, Folder folder_dest, Message[] messages)
        throws Exception {       

    //If the READ folder does not exists create that folder
    if (!folder_dest.exists()) {
        folder_dest.create(Folder.HOLDS_MESSAGES);
    } 

    //Copy read messages from INBOX to READ folder
    folder_source.copyMessages(messages, folder_dest);

    //Delete the read messages from INBOX
    Flags deleted = new Flags(Flags.Flag.DELETED);
    folder_source.setFlags(messages, deleted, true);
    folder_source.expunge(); // or folder.close(true);


    System.out.println("Successfully");

    //Close the INBOX folder
    folder_source.close(false);
}

不知道为什么会失败,这是微软的问题。也许服务器日志包含一些线索?当它失败时,您可以尝试一次复制一封邮件,以确定是否是特定邮件导致了问题。您能告诉我如何查看Microsoft服务器日志吗?我计算出,如果一次收到的电子邮件数量超过大约250封,我就会收到这个错误。对不起,我不知道。我假设您使用了一些Windows或Exchange日志文件查看器。