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 に答える