2013-02-25 4 views
1

Я пытаюсь написать класс Java, который будет получать сообщения от GMail через POP3. До сих пор я скопировал этот код: http://www.java-tips.org/other-api-tips/javamail/connecting-gmail-using-pop3-connection-with-ssl-6.htmlЧтение GMail с Java

Он действительно извлекает сообщения, но мне нужно заставить его извлекать только непрочитанные сообщения. У меня есть учетная запись GMail, которую я использую для тестовых целей, с 3 сообщениями: 1 читать, 2 непрочитанных. Код правильно говорит, что есть 3 сообщения, но говорит, что есть 0 новых сообщений.

Когда я добавить строку

folder.getUnreadMessageCount(); 

возвращает 3. я бы ожидать, что она вернется 2, в качестве одного из сообщений было прочитано (через веб-доступ Гамиль)

Что происходит ? Есть ли способ получить только непрочитанные сообщения?

ответ

2

Это ограничение протокола. POP3 просто загружает все сообщения, доступные на сервере, но это не делает доступный для чтения/непрочитанный статус почты на стороне сервера. Если вы хотите иметь возможность запрашивать такой статус, вам придется использовать IMAP.

+1

Спасибо! Первоначально я думал, что IMAP для отправки, POP для получения (показывает, как мало я знаю об электронной почте), и ваш ответ привел меня к дальнейшим исследованиям, в том числе: http://stackoverflow.com/questions/5366767/retrieve-unread- письма-из-Gmail-JavaMail-апи-IMAP – NickJ

Смежные вопросы