2012-09-09 28 views
1

我通過POP3連接到我的郵箱,並獲得未讀郵件數。箱子裏有10封郵件,只有一封在未讀的狀態。但Folder.getUnreadMessagesCount()返回10而不是1. 這是郵件提供商設置中的問題還是我做錯了什麼?Javamail的getUnreadMessagesCount()返回全部郵件而不是未讀郵件

這是我做的:

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

回答

3

POP3有沒有方法來跟蹤已讀或未讀的消息(見RFC1939),這樣的JavaMail會將所有消息爲未讀。如果你想能夠跟蹤閱讀和未閱讀的電子郵件,那麼你需要使用IMAP。

+1

這在[JavaMail javadocs for com.sun.mail.pop3包]中有更詳細的解釋(http://javamail.kenai.com/nonav/javadocs/com/sun/mail/pop3/package- summary.html)。 –