首页 > 解决方案 > 如何在 Outlook 中阅读今天的电子邮件

问题描述

我正在尝试仅使用 javax.mail api 阅读我今天收到的电子邮件。

Folder emailFolder = store.getFolder("INBOX");
emailFolder.open(Folder.READ_ONLY);

ReceivedDateTerm term = new ReceivedDateTerm(ComparisonTerm.EQ,new Date(Calendar.DAY_OF_MONTH));

Message[] messages = emailFolder.search(term);

即使我的收件箱中有邮件,上面的代码也不会返回任何电子邮件。

标签: javaoutlookjakarta-mail

解决方案


似乎Date构造函数接受了long表示从 1970 年 1 月 1 日开始的毫秒数的 a。但是,Calender.DAY_OF_MONTH似乎只返回一个表示月份中日期的整数。我建议使用诸如System.currentTimeMillis()以毫秒为单位的日期。

参考:

https://docs.oracle.com/javase/8/docs/api/java/util/Date.html#Date-long-

https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#currentTimeMillis--

将 DAY_OF_MONTH 或 DAY_OF_YEAR 添加到 Calendar 对象有什么区别?


推荐阅读