受信トレイのメッセージにこれまでに含まれていたすべての人のリストを取得したいと思います。現在、javax mail APIを使用してIMAP経由で接続し、メッセージをダウンロードできます。
Folder folder = imapSslStore.getFolder("[Gmail]/All Mail");
folder.open(Folder.READ_ONLY);
Message[] messages = folder.getMessages();
for(int i = 0; i < messages.length; i++) {
// This causes the message to be lazily loaded and is slow
String[] from = messages[i].getFrom();
}
行messages[i].getFrom()は、メッセージが遅延ロードされる原因となるため、私が望むよりも遅くなります。これをスピードアップするために私にできることはありますか?たとえば、メッセージを1つずつロードする代わりに、ある種の一括ロードを実行できますか?これはメッセージ全体をロードしますか?代わりにto / from / ccフィールドまたはヘッダーのみをロードするためにできることはありますか?POPはIMAPよりも高速ですか?