2013-02-25 3 views
1

J'essaye d'écrire une classe Java qui récupérera des messages de GMail via POP3. Jusqu'ici, j'ai copié ce code: http://www.java-tips.org/other-api-tips/javamail/connecting-gmail-using-pop3-connection-with-ssl-6.htmlLire GMail avec Java

Il récupère réellement les messages, mais je dois le faire aller chercher seulement les messages non lus. J'ai un compte GMail que j'utilise à des fins de test, avec 3 messages: 1 lecture, 2 non lus. Le code dit correctement qu'il y a 3 messages, mais dit qu'il y a 0 nouveaux messages.

Quand j'ajoute une ligne

folder.getUnreadMessageCount(); 

retourne 3. j'attendre pour revenir 2, comme l'un des messages a été lu (via un accès web Gamil)

Qu'est-ce qui se passe ? Est-il possible de récupérer uniquement les messages non lus?

Répondre

2

Ceci est une limitation du protocole. POP3 télécharge simplement tous les messages disponibles sur le serveur, mais ne rend pas l'état lu/non lu du courrier du côté serveur disponible. Si vous voulez pouvoir interroger ce type de statut, vous devrez utiliser IMAP à la place.

+1

Merci! Au départ, je pensais que l'IMAP était pour envoyer, POP pour recevoir (montre à quel point je sais peu de courriels) et votre réponse m'a amené à d'autres recherches, y compris: http://stackoverflow.com/questions/5366767/retrieve-unread- email-de-gmail-javamail-api-imap – NickJ