gmail imap 中的 javamail getNewMessageCount 始终返回 0
我正在使用 javamail api 来读取 gmail。一切正常,但是,对文件夹的 getNewMessageCount() 的调用始终返回 0。
部分代码:
folder = folder.getFolder("Inbox");
// try to open read/write and if that fails try read-only
try {
folder.open(Folder.READ_WRITE);
} catch (MessagingException ex) {
folder.open(Folder.READ_ONLY);
}
int totalMessages = folder.getMessageCount();
if (totalMessages == 0) {
System.out.println("Empty folder");
folder.close(false);
store.close();
}
int newMessages = folder.getNewMessageCount();
System.out.println("Total messages = " + totalMessages);
System.out.println("New messages = " + newMessages);
System.out.println("-------------------------------");
有人遇到过类似的问题吗?
更新
我尝试了另一个 IMAP 服务器,它给出了正确的号码。这似乎是 Gmail 服务器的一个独特问题。
谢谢!
I am using javamail api to read gmail. Everything works fine however, a call to a folder's getNewMessageCount()
always returns 0.
part of the code:
folder = folder.getFolder("Inbox");
// try to open read/write and if that fails try read-only
try {
folder.open(Folder.READ_WRITE);
} catch (MessagingException ex) {
folder.open(Folder.READ_ONLY);
}
int totalMessages = folder.getMessageCount();
if (totalMessages == 0) {
System.out.println("Empty folder");
folder.close(false);
store.close();
}
int newMessages = folder.getNewMessageCount();
System.out.println("Total messages = " + totalMessages);
System.out.println("New messages = " + newMessages);
System.out.println("-------------------------------");
Have anyone ran into similar issue?
UPDATE
I tried another IMAP server, it gave the correct number. It seems like a unique problem with gmail server.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如图所示:
https://mail.google.com/support/bin/answer.py ?answer=78761
“目前不支持以下功能:
\消息上的最近标志。”
并且由于 NewMessageCount() 方法对具有最近标志的消息进行计数,因此它(尚)不会在 Gmail 服务器上找到任何此类消息(因此始终返回值 0)。
As shown in:
https://mail.google.com/support/bin/answer.py?answer=78761
"the following features are currently unsupported:
\Recent flags on messages."
And since the NewMessageCount() method counts messages with the RECENT flags, it will not (yet) find any such messages on Gmail servers (hence always returning value 0).