Gmailの件名によるimap検索にjavamailを使用しています。subjectTermクラスを使用してsearchTermオブジェクトを作成し、検索関数に渡します。検索は、純粋な英数字の件名文字列に対しては正常に機能します。検索文字列に一重引用符またはダッシュを入れるとすぐに、検索は失敗します。
IMAPSSLStore imapSslStore = connectToImap("imap.googlemail.com",993,email,oauthToken,oauthTokenSecret,getAnonymousConsumer(),true);
Folder inbox = imapSslStore.getFolder("[Gmail]/All Mail");
inbox.open(Folder.READ_ONLY);
SearchTerm sTerm = new SubjectTerm("String with quote's and da-sh"); //this fails
Message messages[] = inbox.search(sTerm); //no results found !
検索文字列をエスケープする標準的な方法はありますか、それともこれはGmailの終わりの制限ですか?