无法将SEEN标志设置为从gmail读取的邮件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将SEEN标志设置为从gmail读取的邮件相关的知识,希望对你有一定的参考价值。
我正在使用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
答案
看起来您打开了READ_ONLY文件夹。确保你在做
folder.open(Folder.READ_WRITE)
当你打开你的文件夹。
BTW POP协议无法识别Flags。所以我很惊讶它适用于POP,因为在使用POP时你应该得到一个IllegalWriteException。无论如何,message.setFlag(...)不会对POP做任何事情。
另一答案
message.setFlag(Flags.Flag.SEEN, true);
这是您在代码上执行的写入操作。
正如@Nikordaris所说,给予这样的书面许可:
folder.open(Folder.READ_WRITE)
以上是关于无法将SEEN标志设置为从gmail读取的邮件的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 JavaMail 读取 Outlook 邮件,而 Gmail 可以工作