我想提取过去1小时内收到的邮件。我在这里查了一下 -
java imap fetch messages since a date
并尝试了以下内容 -
DateTime current = new DateTime();
DateTime oneHourLess = current.minusHours(1);
SearchTerm olderThan = new ReceivedDateTerm(ComparisonTerm.LT, current.toDate());
SearchTerm newerThan = new ReceivedDateTerm(ComparisonTerm.GT, oneHourLess.toDate());
SearchTerm andTerm = new AndTerm(olderThan, newerThan);
Message totalMess[] = inbox.search(andTerm);
但由于ReceivedDateTerm没有花时间考虑,我没有收到邮件。
有什么方法可以做到这一点吗?
答案 0 :(得分:6)
IMAP协议只提供当天的解决方案,没有时间。
答案 1 :(得分:3)
我们有类似的要求,我们所做的是使用SearchTerm
来申请日期。然后,您可以使用getReceivedDate()过滤掉当天出现的旧内容。
另外,对我来说,getReceivedDate()作为null进入。我不得不使用getSentDate()和SentDateTerm