簡體   English   中英

javamail imap 如何通過接收日期 desc 獲取郵購

[英]how javamail imap fetch mail order by receive date desc

javamail imap 如何通過接收日期 desc 獲取郵購? folder.getMessage()沒有日期參數。 我想在 imap 中獲取郵件時按日期排序。 感謝提前!

通常,郵件按接收順序存儲在收件箱中,因此,消息編號順序是接收日期順序。 但是請注意,如果在文件夾之間移動郵件,這可能是錯誤的。

通常,如果您希望消息按特定順序排列,則需要對其進行排序。 如果您的IMAP服務器支持SORT擴展,則可以使用com.sun.mail.imap.IMAPFolder.getSortedMessages方法要求服務器進行排序。

    @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]);
                            }
                        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM