如何使用IMAP Java实现按日期对电子邮件进行排序

时间:2018-06-22 08:00:25

标签: java javamail imap

我想按日期对电子邮件进行排序,以便获得包含所有对话以及我可以忽略的其他代码的最新电子邮件。

示例代码:

Session session = Session.getInstance(props, null);
        Store store = session.getStore();
        store.connect(HOST, USER, PASSWORD);
        IMAPFolder inbox = (IMAPFolder) store.getFolder("INBOX");
        inbox.open(Folder.READ_ONLY);
        SortTerm[] sortTerms = new SortTerm[1];
        sortTerms[0] = SortTerm.ARRIVAL;
        Message[] messages = inbox.getMessages();

1 个答案:

答案 0 :(得分:2)

我看到您发现了SortTerm,因此您已到达那里。使用IMAPFolder.getSortedMessages方法:

Message[] messages = ((IMAPFolder)inbox).getSortedMessages(sortTerms);

请注意,这取决于您的服务器支持SORT extension defined by RFC 5256。如果没有,则必须对客户端上的消息进行排序。