java - 如何使用 IMAP java 实现按日期对电子邮件进行排序
问题描述
我想按日期对电子邮件进行排序,以便我可以获得包含所有对话的最新电子邮件,以及我可以在代码中忽略的其他电子邮件。
示例代码:
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();
解决方案
我看到你已经发现了SortTerm,所以你大部分时间都在那里。使用IMAPFolder.getSortedMessages方法:
Message[] messages = ((IMAPFolder)inbox).getSortedMessages(sortTerms);
请注意,这取决于您的服务器是否支持RFC 5256 定义的 SORT 扩展。如果没有,您将不得不在客户端上对消息进行排序。
推荐阅读
- python - AWS lambda 调用时不运行代码
- javascript - 未更新使用 JavaScript 的密码确认
- docker - Gitlab 使用 helm 安装分蘖导致 kubernetes-charts.storage.googleapis.com 不是有效的图表存储库
- javascript - displayChoice() 和使用 .innerHTML 有什么区别?
- c# - 如何将对象列表投影到嵌套对象列表中
- css - 使标题内的文本响应
- c# - 如何在另一个pdf,.NET中打印带有可编辑字段的pdf?
- python-3.x - 获取时区并隐蔽到UTC
- python - 如何对自定义 Keras 层进行故障排除
- javascript - 显示选择下拉框的文本字段