如何使用java mail api阅读UNREAD电子邮件

时间:2014-10-15 00:41:28

标签: java javamail

我正在尝试从gmail帐户阅读UNREAD邮件。我试图根据Flags过滤消息,但它没有用。我打印了每条消息上发送的Flags,但没有设置任何内容,因此我无法过滤消息。我使用关键字Flags.Flag.SEEN来过滤消息。 谷歌搜索后,我发现它与电子邮件客户端有关。例如,我们需要更改gmail或任何Exchange邮件服务器中的配置。您能否告诉我如何更改配置以阅读UNREAD邮件?

另外,在一天结束时,我将把代码实现到一个smtp交换服务器中。如果需要特殊配置,请告诉我。这样我就可以通知相应的团队,然后实施我的更改。

       // connects to the message store
        Store store = session.getStore("pop3");
        store.connect(userName, password);

        // opens the inbox folder
        Folder folderInbox = store.getFolder("INBOX");
        System.out.println("unread count - " + folderInbox.getUnreadMessageCount());
        folderInbox.open(Folder.READ_WRITE);
        // folderInbox.search(new FlagTerm(new Flags(Flags.Flag.RECENT),
        // false));

        // fetches new messages from server
        Message[] arrayMessages = folderInbox.search(new FlagTerm(new Flags(Flags.Flag.RECENT), false));

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

请参阅Retrieving all unread emails using javamail with POP3 protocol

一条评论建议将Flags.Flag.SEEN用于Gmail。还有一个关于更改测试Gmail帐户设置的建议。