2013-02-25 214 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