在我正在处理的应用程序中,有一个函数可以使用 JavaMail 通过 IMAP 与邮件服务器连接。我们的一位客户有以下堆栈跟踪:
javax.mail.MessagingException: A13 BAD Command Argument Error. 11;
nested exception is:
com.sun.mail.iap.BadCommandException: A13 BAD Command Argument Error. 11
at com.sun.mail.imap.IMAPMessage.setFlags(IMAPMessage.java:847)
at javax.mail.Message.setFlag(Message.java:565) ...
现在,它试图做的事情如下:
messages[i].setFlag(Flags.Flag.RECENT, false);
messages[i]
一个在哪里javax.mail.Message
。
现在,我们使用 Exchange Server 2003 的任何客户都从未发生过此错误,并且由于该客户使用的是 Exchange Server 2007,我假设它与它有关(错误?)。我还确保他们将其更新为最新的服务包和汇总更新(撰写本文时的服务包 1 更新 8)和最新的 JavaMail(撰写本文时为 1.4.2)并且没有任何影响。我的问题是,这是我必须等待微软解决的问题吗?有没有我可以采用的解决方法?
作为记录,我将最近标志设置为 false 的原因是,给定的消息将不会在第二次传递中再次处理(即它只处理最近的或新的消息)。