【问题标题】:Javamail : fetching messages for the last hourJavamail:获取最后一小时的消息
【发布时间】:2013-04-13 10:46:30
【问题描述】:

我想提取过去 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 不考虑时间。

有没有办法解决这个问题?

【问题讨论】:

    标签: java imap jakarta-mail


    【解决方案1】:

    IMAP 协议只提供当天的分辨率,没有时间。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2016-10-26
        • 2011-02-17
        • 2017-05-24
        • 2016-10-12
        • 1970-01-01
        • 1970-01-01
        • 2022-08-18
        • 1970-01-01
        • 2011-06-06
        相关资源
        最近更新 更多