1

我想获取过去 1 小时内收到的邮件。我在这里检查了-

java imap 获取自某个日期以来的消息

并尝试了以下 -

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 没有考虑时间。

有什么办法可以做到这一点吗?

4

2 回答 2

7

IMAP 协议只提供当天的解决方案,没有时间。

于 2013-04-13T02:46:30.030 回答
4

我们有一个类似的要求,我们所做的就是使用SearchTerm将在日期应用的。然后,您可以使用 getReceivedDate() 过滤掉当天出现的旧内容。

另外,对我来说, getReceivedDate() 是作为 null 进来的。我不得不使用 getSentDate() 和SentDateTerm

于 2013-04-12T09:19:26.280 回答