gmail中的javamail getNewMessageCount始终返回0

时间:2011-08-13 04:49:30

标签: java gmail imap javamail

我正在使用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服务器的一个独特问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

如图所示: https://mail.google.com/support/bin/answer.py?answer=78761

“目前不支持以下功能: \最近的消息标志。“

由于NewMessageCount()方法使用RECENT标记对消息进行计数,因此它不会(仍)在Gmail服务器上找到任何此类消息(因此始终返回值0)。