我正在尝试从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));
答案 0 :(得分:2)
答案 1 :(得分:0)
请参阅Retrieving all unread emails using javamail with POP3 protocol。
一条评论建议将Flags.Flag.SEEN
用于Gmail。还有一个关于更改测试Gmail帐户设置的建议。