2013-02-25 211 views
1

我試圖寫一個Java類,它會從GMail中通過POP3檢索郵件閱讀Gmail中。 到目前爲止,我已經複製了以下代碼:http://www.java-tips.org/other-api-tips/javamail/connecting-gmail-using-pop3-connection-with-ssl-6.html與Java

它實際上檢索消息,但我需要使其只讀取未讀消息。我有一個GMail帳戶用於測試目的,有3條消息:1條閱讀,2條未讀。該代碼正確地說有3條消息,但表示有0條新消息。

當我添加一行

folder.getUnreadMessageCount(); 

返回3. 我希望它返回2,因爲消息中的一個已經被讀取(通過賈米勒Web訪問)

這是怎麼回事?有沒有什麼辦法可以只檢索未讀郵件?

回答

2

這是協議的限制。 POP3只是下載服務器上可用的所有消息,但它不會使服務器端郵件的讀取/未讀狀態可用。如果你想能夠查詢這種狀態,你將不得不使用IMAP。

+1

謝謝!我原本以爲IMAP是用於發送,POP是用於接收(顯示我對電子郵件知之甚少),並且您的回答引導我進一步研究,包括:http://stackoverflow.com/questions/5366767/retrieve-unread-電子郵件,從Gmail郵箱-的JavaMail-API-IMAP – NickJ 2013-02-25 20:51:11