У меня есть класс чтения почты, который устанавливает FetchProfile, а затем выполняет msg.getContent. Я хочу делать как чтение заголовка, так и содержимого в один звонок, в основном загружать полную почту за один звонок. Поскольку я наблюдал, что msg.getcontent делает вызов на сервер, чтобы получить тело/содержимое, если мы можем загрузить полную почту в один звонок, вызов на сервер можно сохранить.Прочитайте как заголовок, так и тело одним вызовом, используя java
Возможно ли это?
код похож на этот
inbox.open(Folder.READ_ONLY);
/* Get the messages which is unread in the Inbox */
Message messages[] = inbox.search(new FlagTerm(
new Flags(Flag.SEEN), false));
/* Use a suitable FetchProfile */
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add(FetchProfile.Item.CONTENT_INFO);
inbox.fetch(messages, fp);
for (int i = 0; i < messages.length; i++) {
System.out.println("MESSAGE #" + (i + 1) + ":");
Message message = messages[i];
**String content = message.getContent();**
System.out.println("Content : " + content);
}
Цените любую помощь.
Спасибо и наилучшие пожелания Raaghu.K
Да. Этот метод работает, но мало опасен для реализации, поскольку он может загружать всю почту (вложение тоже) и может вызвать нехватку памяти. – Raaghu
Да, но это то, о чем вы просили, «скачайте полную почту одним звонком». Невозможно загрузить заголовки и только основной текст сообщения за один вызов, потому что пока вы не изучите структуру сообщения, вы не знаете, где находится основной текст сообщения. –
Справа. Ваш подход и предложения отвечают на мой вопрос, я только что объяснил опасность/отступить – Raaghu