如何使用Java中的JavaMail API提取最近的电子邮件?

时间:2018-11-17 06:12:57

标签: java javamail

我正在尝试使用Java中的JavaMail API提取电子邮件。我想在特定日期之间获取邮件,但是问题是我无法获取当前日期的电子邮件,例如:如果我必须获取18/11/16至17/11/18之间的邮件,或者仅获取18/11/11,我无法提取这些电子邮件,即我无法提取最近的电子邮件。下面是我的代码。

SimpleDateFormat somePastDate = new SimpleDateFormat( "EE MMM dd HH:mm:ss z yyyy");
String dt="Thu Nov 15 01:53:10 IST 2018";

java.util.Date pastDate = somePastDate.parse(dt);
System.out.println("the past Date is "+pastDate);
SimpleDateFormat formatter = new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy",
        Locale.ENGLISH);
String futureDate = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy", Locale.getDefault()).format(new Date());
java.util.Date somefutureDate=formatter.parse(futureDate);
System.out.println("the future date is "+somefutureDate);

SearchTerm olderThan=new ReceivedDateTerm(ComparisonTerm.LT,somefutureDate);
SearchTerm newerThann=new ReceivedDateTerm(ComparisonTerm.GT,pastDate);
SearchTerm andTerm=new AndTerm(olderThan,newerThann);

1 个答案:

答案 0 :(得分:0)

请尝试使用

SimpleDateFormat format = new SimpleDateFormat();

format = new SimpleDateFormat("dd/MM/yyyy");

定义两个日期对象,并使用上面显示的这种格式示例。 比您已经在代码中完成的其余工作要多。

祝你好运 亚尼夫