私が取り組んでいるアプリケーションには、JavaMail を使用して IMAP 経由でメール サーバーに接続する機能があります。クライアントの 1 人には、次のスタック トレースがありました。
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) に更新したことも確認しましたが、影響はありませんでした。私の質問は、これはマイクロソフトが修正するのを待たなければならないものですか? 使用できる回避策はありますか?
記録として、recent フラグを false に設定する理由は、指定されたメッセージが 2 番目のパスで再度処理されないようにするためです (つまり、最近または新しいメッセージのみを処理します)。