java imap从日期开始获取消息

Cha*_*tan 9 java email imap

我正在使用javax.mail包编写/学习使用java从IMAP文件夹中获取电子邮件.我成功地能够检索文件夹中的最后n条消息,但是我希望构建一个示例来检索自指定日期以来的消息.任何例子?

小智 24

您还可以在java邮件包中使用SearchTerm类.

SearchTerm olderThan = new ReceivedDateTerm(ComparisonTerm.LT, someFutureDate);
SearchTerm newerThan = new ReceivedDateTerm(ComparisonTerm.GT, somePastDate);
SearchTerm andTerm = new AndTerm(olderThan, newerThan);
inbox.search(andTerm);
Run Code Online (Sandbox Code Playgroud)

上述的某些组合应该证明是在一定范围内获得日期的更好方法.


小智 5

public class CheckDate  {
    public void myCheckDate(Date givenDate) {
        SearchTerm st = new ReceivedDateTerm(ComparisonTerm.EQ,givenDate);

        Message[] messages = inbox.search(st);
    }

    // in main method

    public static void main(String[] args) throws ParseException{
        SimpleDateFormat df1 = new SimpleDateFormat( "MM/dd/yy" );
        String dt="06/23/10";
        java.util.Date dDate = df1.parse(dt);
        cd.myCheckDate(dDate);
    }
}
Run Code Online (Sandbox Code Playgroud)