我正在使用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)
任何帮助将不胜感激。
谢谢, Kumaraswamy.N
答案 0 :(得分:5)
看起来您将文件夹打开为READ_ONLY。确保你正在做
folder.open(Folder.READ_WRITE)
打开文件夹时。
BTW POP协议无法识别标志。所以我很惊讶它适用于POP,因为在使用POP时你应该得到一个IllegalWriteException。无论如何, message.setFlag(...)不会对POP做任何事情。
答案 1 :(得分:0)
message.setFlag(Flags.Flag.SEEN, true);
这是您对代码执行的写操作。
正如@Nikordaris所说的那样,给予书面许可:
folder.open(Folder.READ_WRITE)