1

POP3を介してメールボックスに接続し、未読メッセージをカウントします。ボックスには10通のメールがあり、未読状態のメールは1通だけです。しかし、Folder.getUnreadMessagesCount()は1ではなく10を返します。これはメールプロバイダーの設定内の問題ですか、それとも何か間違ったことをしますか?

これが私がすることです:

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();
4

1 に答える 1

3

POP3には既読または未読メッセージを追跡する方法がないため(RFC1939を参照)、JavaMailはすべてのメッセージを未読として扱います。既読および未読の電子メールを追跡できるようにする場合は、IMAPを使用する必要があります。

于 2012-09-09T09:04:57.897 に答える