Javamail的getUnreadMessagesCount()返回全部邮件而不是未读邮件

时间:2012-09-09 08:44:42

标签: java javamail

我通过POP3连接到我的电子邮箱,并获取未读邮件数。盒子里有10封邮件,只有1封处于未读状态。但是Folder.getUnreadMessagesCount()返回10而不是1。 这是邮件提供商设置中的问题还是我做错了什么?

这就是我的所作所为:

Session session = Session.getDefaultInstance(props, new EMailAuthenticator(getLogin(), getPassword()));
Store store = session.getStore();
store.connect();

Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
inbox.getUnreadMessageCount();

1 个答案:

答案 0 :(得分:3)

POP3没有跟踪读取或未读消息的方法(请参阅RFC1939),因此JavaMail会将所有消息视为未读。如果您希望能够跟踪已读和未读的电子邮件,则需要使用IMAP。