在我的工作中的应用,存在与使用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我假定它是与它(错误?)。 我还相信,他们也更新到了最新的服务包和累积更新(Service Pack 1个更新8截至记者发稿)和最新的JavaMail(1.4.2截至发稿时),它有没有影响。 我的问题是,这是我的东西要等待微软解决? 有一种解决方法,我可以使用?

有关的记录,为什么我最近标志设置为假的理由是,使得给定的消息将不被再次在第二遍中处理(即,它仅处理最近的或新的消息)。

有帮助吗?

解决方案

我给旗.Flag.RECENT 表明它是只读从客户端应用程序。当“是新消息此文件夹”文件夹执行应设置。所以,除非你写一个文件夹的实现,你不应该修改该标志。

这使得一个想知道为什么你的其他客户没有得到错误。也许这会被视为在某些情况下,一个空操作?也许有什么特别的这个特殊的客户端的文件夹?也许一个共享文件夹,或用户已经读访问过的文件夹?我没有能力思考Exchange邮件存储区的奥秘。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top