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

谢谢!

最佳答案

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

“当前不支持以下功能:
\邮件上的最近标记。”

而且由于NewMessageCount()方法对带有RECENT标志的邮件进行计数,因此它(至今)仍未在Gmail服务器上找到任何此类邮件(因此始终返回值0)。

关于java - gmail imap中的javamail getNewMessageCount始终返回0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7048650/

10-14 19:20