现在我可以使用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", "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="462b3f012b272f2a0f2206212b272f2a6825292b" rel="noreferrer noopener nofollow">[email protected]</a>", "mypassword");
inbox = store.getFolder("Inbox");
最佳答案
以下是取自 javax.mail.Message trying to fetch messages for a given date range 的一个示例
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);
关于jakarta-mail - 使用 javax.mail 在 java 中读取指定日期和时间后收件箱中的所有电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18608970/