无法将SEEN标志设置为从gmail读取的邮件

use*_*607 5 java gmail imap

我使用IMAP协议连接到我的Gmail帐户.

我的申请在这一行失败了. message.setFlag(Flags.Flag.SEEN,true);

日志详细信息如下:

[java] ---- exception report ----------------------------------------------------------
 [java] An error Occured while reading mail
 [java] Exception: javax.mail.MessagingException
 [java] Message: A10 NO STORE attempt on READ-ONLY folder (Failure)
 [java] ---- cause ---------------------------------------------------------------------
 [java] Exception: com.sun.mail.iap.CommandFailedException
 [java] Message: A10 NO STORE attempt on READ-ONLY folder (Failure)
 [java] ---- stack trace ---------------------------------------------------------------
 [java] com.sun.mail.iap.CommandFailedException: A10 NO STORE attempt on READ-ONLY folder (Failure)
 [java] com.sun.mail.iap.Protocol.handleResult(Protocol.java:294)
 [java] com.sun.mail.imap.protocol.IMAPProtocol.storeFlags(IMAPProtocol.java:1294)
 [java] com.sun.mail.imap.protocol.IMAPProtocol.storeFlags(IMAPProtocol.java:1279)
 [java] com.sun.mail.imap.IMAPMessage.setFlags(IMAPMessage.java:843)
 [java] javax.mail.Message.setFlag(Message.java:565)
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

谢谢,Kumaraswamy.N

Nik*_*ris 5

看起来您打开了READ_ONLY文件夹.确保你在做

folder.open(Folder.READ_WRITE)
Run Code Online (Sandbox Code Playgroud)

当你打开你的文件夹.

BTW POP协议无法识别Flags.所以我很惊讶它适用于POP,因为在使用POP时你应该得到一个IllegalWriteException.无论如何,message.setFlag(...)不会对POP做任何事情.