2

现在我可以使用 java 阅读所有未读电子邮件,但我需要使用 JAVAX.Mail(即 javax.mail.jar)在指定日期和时间之后阅读所有电子邮件,请帮助我在之后使用 java 检索所有电子邮件指定的日期和时间(比如 2013 年 7 月 12 日下午 1 点)。我阅读邮件的代码:

Properties prop = System.getProperties();
prop.getProperty("mail.store.protocol", "imaps");
Session session = Session.getDefaultInstance(prop, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", "myGmailId@gmail.com", "mypassword");
inbox = store.getFolder("Inbox");
4

1 回答 1

2

这是从javax.mail.Message 中获取的一个示例,该示例尝试获取给定日期范围内的消息

cal.add(Calendar.DAY_OF_MONTH, -1);

// We would get the bounce mails received yesterday

ReceivedDateTerm term  = new ReceivedDateTerm(ComparisonTerm.EQ,newDate(cal.getTimeInMillis()));

Message[] messages = folder.search(term)

使用术语的另一种方法可能是:

SearchTerm olderThan = new ReceivedDateTerm(ComparisonTerm.LT, someFutureDate);
SearchTerm newerThan = new ReceivedDateTerm(ComparisonTerm.GT, somePastDate);
SearchTerm andTerm = new AndTerm(olderThan, newerThan);
inbox.search(andTerm);
于 2013-09-30T07:55:09.217 回答