javaMail Imap 协议邮件搜索中文问题

图片说明
如图,
2015-11-23 14:48:50,425 INFO org.xxx.xxx.xxx.mail.imap.ImapMailReceiver - connecting.............
2015-11-23 14:48:50,425 INFO org.xxx.xxx.xxx.mail.imap.ImapMailReceiver - folderName...INBOX-------param...我是好人--------
javax.mail.MessagingException: A4 BAD Command Argument Error. 11;
nested exception is:
com.sun.mail.iap.BadCommandException: A4 BAD Command Argument Error. 11
at com.sun.mail.imap.IMAPFolder.search(IMAPFolder.java:1881)

环境是exchange2007的server,开通的imap协议。程序端使用的是javamail ,用的search方法,测试了下新浪的可以支持中文,但是exchange这边就不支持中文但是英文可以走通。又遇到过的大神吗 支支招

http://892848153.iteye.com/blog/1724591
这篇文章或许对你有帮助!

那篇文章我看过了,他都是讲的发送协议。我打了下我这边发送时用到的命令:
DEBUG: setDebug: JavaMail version 1.5.0
DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle]
DEBUG IMAP: mail.imap.fetchsize: 16384
DEBUG IMAP: mail.imap.ignorebodystructuresize: false
DEBUG IMAP: mail.imap.statuscachetimeout: 1000
DEBUG IMAP: mail.imap.appendbuffersize: -1
DEBUG IMAP: mail.imap.minidletime: 10
DEBUG IMAP: trying to connect to host "10.254.253.234", port 143, isSSL false

  • OK The Microsoft Exchange IMAP4 service is ready. A0 CAPABILITY
  • CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI STARTTLS IDLE NAMESPACE LITERAL+ A0 OK CAPABILITY completed. DEBUG IMAP: AUTH: NTLM DEBUG IMAP: AUTH: GSSAPI DEBUG IMAP: protocolConnect login, host=10.254.253.234, user=yanwb@CMSTEST.com, password= DEBUG IMAP: AUTHENTICATE NTLM command trace suppressed DEBUG NTLM: type 1 message: 4E 54 4C 4D 53 53 50 00 01 00 00 00 03 A2 00 00 00 00 00 00 29 00 00 00 09 00 09 00 20 00 00 00 6C 6F 63 61 6C 68 6F 73 74 DEBUG NTLM: type 3 message: 4E 54 4C 4D 53 53 50 00 03 00 00 00 18 00 18 00 74 00 00 00 18 00 18 00 8C 00 00 00 00 00 00 00 40 00 00 00 22 00 22 00 40 00 00 00 12 00 12 00 62 00 00 00 00 00 00 00 A4 00 00 00 01 82 00 00 79 00 61 00 6E 00 77 00 62 00 40 00 43 00 4D 00 53 00 54 00 45 00 53 00 54 00 2E 00 63 00 6F 00 6D 00 6C 00 6F 00 63 00 61 00 6C 00 68 00 6F 00 73 00 74 00 74 C3 1D 76 D0 65 2A 88 17 B9 D7 12 9F 45 DD 1B 31 A0 BE 80 13 E5 F3 CF 91 2C 78 A6 B8 47 7A D6 C0 4A 0A 8D D6 AE B9 20 95 5E DE 4C 01 21 58 7E DEBUG IMAP: AUTHENTICATE NTLM command result: A1 OK AUTHENTICATE completed. A2 CAPABILITY
  • CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI STARTTLS IDLE NAMESPACE LITERAL+ A2 OK CAPABILITY completed. DEBUG IMAP: AUTH: NTLM DEBUG IMAP: AUTH: GSSAPI DEBUG IMAP: connection available -- size: 1 A3 SELECT INBOX
  • 1100 EXISTS
  • 0 RECENT
  • FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)
  • OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)] Permanent flags
  • OK [UNSEEN 1090] Is the first unseen message
  • OK [UIDVALIDITY 1611] UIDVALIDITY value
  • OK [UIDNEXT 17682] The next unique identifier value A3 OK [READ-WRITE] SELECT completed. A4 SEARCH CHARSET UTF-8 SUBJECT {15+} 我的意思是 ALL A4 BAD Command Argument Error. 11 javax.mail.MessagingException: A4 BAD Command Argument Error. 11; nested exception is: com.sun.mail.iap.BadCommandException: A4 BAD Command Argument Error. 11 at com.sun.mail.imap.IMAPFolder.search(IMAPFolder.java:1881)