imapFolder.getSortedMessages(SortTerm[] term);
メソッドを使用してメールを取得し、送信日でソートしたいと考えています。
public List<MailMessage> load(SortTerm[] term,)
throws MessagingException, UnsupportedEncodingException {
List<MailMessage> mailMessages = new ArrayList<MailMessage>();
term[0] = SortTerm.DATE;
Store store = getStore();
Folder folder = store.getFolder("INBOX");
if (folder != null) {
IMAPFolder imapFolder = (IMAPFolder) folder;
imapFolder.open(Folder.READ_WRITE);
Message[] messages = imapFolder.getSortedMessages(term);
FetchProfile fp = new FetchProfile();
fp.add(UIDFolder.FetchProfileItem.UID);
fp.add(FetchProfile.Item.ENVELOPE);
folder.fetch(messages, fp);
UIDFolder uidFolder = (UIDFolder) folder;
for (Message message : messages) {
Long uid = uidFolder.getUID(message);
MimeMessage msg = (MimeMessage) message;
MailMessage mailMessage = new MailMessage(msg, uid);
mailMessages.add(mailMessage);
}
}
return mailMessages;
}
しかし、それは私にとってはうまくいきません。送信日でソートされません。私のプログラムに対する提案。