如何在java中使用imap或pop3获取特定数量的电子邮件?

时间:2013-03-28 10:09:48

标签: java imap javamail pop3

我必须使用imap或pop3协议和java邮件服务获取修订号码电子邮件。有没有办法做到这一点。提前致谢。

2 个答案:

答案 0 :(得分:1)

在这种情况下,可以使用fetch命令:

FETCH 2:4(FLAGS BODY [HEADER.FIELDS(To)])

此命令将获取UID为2到4的消息并获取所需信息。

对于JavaMail API,我猜这种方法不公开,所以首先进行快速获取以获取元数据,然后迭代一次获取每个数据的所需数量的消息。

有一种方法可以使用fetchprofile进行快速提取。

我记不太清楚,因为我很久以前就试过了。但这应该是一个良好的开端。

答案 1 :(得分:0)

首先,使用Folder.getMessages方法获取要获取的消息集的Message对象。 getMessages方法执行获取任何消息数据。

接下来,根据您正在做的事情,您可能希望使用Folder.fetch方法来预取一些消息元数据(例如,标题)。这对IMAP比对POP3更有用。请注意,fetch方法可以应用于第一步中获得的Message对象数组。

最后,遍历您在第一步中获得的Message对象,并访问每条消息所需的数据。这是实际从服务器获取消息数据的时间。