Массовое извлечение тел почты с использованием Javamail API и IMAP - PullRequest
5 голосов
/ 04 мая 2011

Есть ли способ получить почтовые тела нескольких писем с помощью одного звонка на сервер IMAP с использованием Javamail API?

Я знаю, что могу получить текст данного сообщения с помощью вызова Message.getContent (), но в итоге выполняется вызов сервера imap для каждого отдельного сообщения.

Можно ли использовать вызовы FetchProfile и Folder.fetch для массового извлечения тел? Документация подразумевает, что FetchProfile предназначен только для данных заголовка. Я попробовал следующее, но это не сработало:

FetchProfile fp = new FetchProfile();
fp.add("rfc822.text");
inbox.fetch(messages, fp);

Если это невозможно сделать с помощью Javamail, это связано с ограничением в API Javamail или протокол IMAP просто не поддерживает это?

1 Ответ

4 голосов
/ 04 мая 2011

Ограничение JavaMail. Протокол IMAP позволяет извлекать тела нескольких сообщений одновременно:

a1 fetch 1:* (rfc822.header rfc822.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...