问题用JavaMail和Exchange Server 2007 - 错误的命令参数
-
20-08-2019 - |
题
在我的工作中的应用,存在与使用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邮件存储区的奥秘。
不隶属于 StackOverflow