Javamail извлекает сообщения по частям (например, разбивка на страницы) GMAIL POP3

Через приложение Java я могу подключиться к серверу GMAIL POP3. Когда я вызываю getMessageCount(), он возвращает мне 280, хотя у меня более 10 тысяч писем в папке «Входящие». Итак, когда я вызываю folder.getMessages(300, 400), это дает мне ошибку, потому что диапазон больше 280. Подробнее см. В моем другом сообщении ссылка

Мой вопрос:

  • Есть ли у них какой-либо API для получения электронных писем по частям (например, в виде разбиения на страницы)? если да, то может ли кто-нибудь дать мне ссылку, чтобы начать с него.

person user2618875    schedule 13.08.2015    source источник


Ответы (1)


Это не ограничение javamail, это ограничение gmail их сервера POP3. При доступе через POP он будет показывать вам только 300 сообщений за раз, пока вы их не удалите. Существует альтернативный метод доступа, при котором вы указываете логин как recent:[email protected], вместо этого он покажет вам электронную почту за последние 30 дней.

Они делают это, потому что POP3 быстро становится очень неэффективным протоколом для доступа к тысячам электронных писем, поэтому они ограничивают окно сообщений, которые вы можете видеть.

Если вы хотите получить доступ ко всей электронной почте, вам нужно либо переключиться на IMAP, либо использовать Gmail REST API, оба из которых значительно улучшили доступ к почте и возможности.

person Max    schedule 13.08.2015
comment
@Max не могли бы вы кратко рассказать о 1. он будет показывать вам только 300 сообщений за раз, пока вы их не удалите? значит с локального или с сервера gmail? 2. или используйте Gmail REST API. Можете ли вы предоставить ссылку? Вы имеете в виду GMAIL API это? - person user2618875; 13.08.2015
comment
Когда клиент POP3 выполняет LIST или UIDL, сервер будет возвращать только самые старые (?) 300 сообщений, пока они не будут удалены с сервера. В последнем режиме вместо этого он просто покажет вам электронную почту за последний месяц и больше никогда. И да, я имею в виду API Gmail. - person Max; 13.08.2015
comment
Если у вас есть выход на сервер и настроено отображение всех сообщений, вы можете видеть все сообщения? - person Bill Shannon; 14.08.2015