どのようにjavamail imapは受信日descでメールオーダーを取得しますか? folder.getMessage()
日付の引数はありません。imapでメールを取得するときに日付でソートしたい。ありがとうアドバンス!
質問する
4692 次
2 に答える
5
通常、メッセージは受信順にINBOXに格納されるため、メッセージ番号順は受信日順となります。ただし、メッセージがフォルダー間で移動される場合、これは間違っている可能性があることに注意してください。
一般に、メッセージを特定の順序で並べたい場合は、メッセージを並べ替える必要があります。IMAP サーバーが SORT 拡張機能をサポートしている場合は、 com.sun.mail.imap.IMAPFolder.getSortedMessages メソッドを使用してサーバーにソートを依頼できます。
于 2013-10-25T07:08:43.197 に答える
0
@DefaultValue("REVERSE,ARRIVAL") MailSortTerms sortTerms
/**/
if (imapStore.hasCapability("SORT*")) {
Message[] messages = ((IMAPFolder) inbox).getSortedMessages(
sortTerms.getTerms());
for (int i = skip;
i < Math.min(skip + size, inbox.getMessageCount());
i++) {
resultList.add(messages[i]);
}
} else {
Message[] messages = inbox.getMessages();
for (int i = inbox.getMessageCount() - skip - 1;
i >= Math.max(inbox.getMessageCount() - skip - size - 1, 0);
i--) {
resultList.add(messages[i]);
}
}
于 2021-11-29T06:30:21.123 に答える