使用 Javamail 逐一获取电子邮件 Api
Getting emails one by one using Javamail Api
我正在使用 Javamail API 从 Gmail IMAP 服务器获取电子邮件。
我正在使用 Message[] messages = inbox.search(term)
从服务器获取所有电子邮件。相反,我想一个接一个地获取邮件,这样我就可以将它们一个接一个地保存在数据库中,而不是获取整个数组,这样另一个服务就可以开始解析电子邮件,而不是等待所有的电子邮件都来然后解析因为这是一个耗时的过程。
搜索方法不会从服务器获取所有消息的数据,它只会从服务器获取匹配消息的消息编号。返回的 Message 对象不包含任何数据,直到您调用 Message 对象上的方法来请求一些数据;它们只是对服务器上消息的引用。
如果搜索调用太慢,不是因为消息的数据正在返回给客户端,而是因为服务器搜索消息的速度很慢。您可以通过打开 JavaMail debugging.
来准确查看客户端请求的内容和服务器 returns 的内容
如果您想预取更多的 Message 数据,而不是按需获取,您可以使用 Folder.fetch 方法。
我正在使用 Javamail API 从 Gmail IMAP 服务器获取电子邮件。
我正在使用 Message[] messages = inbox.search(term)
从服务器获取所有电子邮件。相反,我想一个接一个地获取邮件,这样我就可以将它们一个接一个地保存在数据库中,而不是获取整个数组,这样另一个服务就可以开始解析电子邮件,而不是等待所有的电子邮件都来然后解析因为这是一个耗时的过程。
搜索方法不会从服务器获取所有消息的数据,它只会从服务器获取匹配消息的消息编号。返回的 Message 对象不包含任何数据,直到您调用 Message 对象上的方法来请求一些数据;它们只是对服务器上消息的引用。
如果搜索调用太慢,不是因为消息的数据正在返回给客户端,而是因为服务器搜索消息的速度很慢。您可以通过打开 JavaMail debugging.
来准确查看客户端请求的内容和服务器 returns 的内容如果您想预取更多的 Message 数据,而不是按需获取,您可以使用 Folder.fetch 方法。