当前位置: 首页 > 知识库问答 >
问题:

Java收件箱阅读速度更快

晁英彦
2023-03-14

我想获得收件箱中任何邮件中包含的每个人的列表。现在我可以使用javax邮件API通过IMAP连接并下载消息:

Folder folder = imapSslStore.getFolder("[Gmail]/All Mail");
folder.open(Folder.READ_ONLY);
Message[] messages = folder.getMessages();

for(int i = 0; i < messages.length; i++) {
  // This causes the message to be lazily loaded and is slow
  String[] from = messages[i].getFrom();
}

线路信息【i】。getFrom()比我希望的要慢,因为is导致消息被延迟加载。我能做些什么来加快速度吗?E、 g.是否有某种批量加载方式可以代替逐个加载消息?这会加载整个消息吗?我是否可以只加载“收件人/发件人/抄送”字段或标题?POP会比IMAP快吗?

共有2个答案

唐永春
2023-03-14

您可以在Folder中使用fetch-method。根据Javadocs:

客户端使用此方法来指示给定消息范围整体需要指定的项目。期望实现以有效的方式检索给定消息范围的这些项目。请注意,此方法只是对实现预取所需项目的提示。

从适当的FetchProfile获取是ENVELOPE。当然,它仍有待实现,邮件服务器确实有帮助。

岳出野
2023-03-14

您想在for循环之前添加以下内容

FetchProfile fetchProfile = new FetchProfile();
fetchProfile.add(FetchProfile.Item.ENVELOPE);
folder.fetch(messages, fetchProfile);

这将预取所有消息的“信封”,其中包括from/to/subject/cc字段。

 类似资料:
  • 问题内容: 从Java中的[非常大]文件中读取文本的最后一行的最快,最有效的方法是什么? 问题答案: 以下是两个函数,一个函数返回文件的最后一个非空白行而不加载或单步浏览整个文件,另一个函数返回文件的最后N行而不单步浏览整个文件: 尾部的作用是直接缩放到文件的最后一个字符,然后逐个字符向后退一步,记录所看到的内容,直到找到换行符为止。找到换行符后,便会跳出循环。反转记录的内容,并将其放入字符串中并

  • 学习5阶段 getting start 入门 guide 指南 doc 查api 阅读源码 向开源贡献代码 你该阅读源码? 上面已经说了,第四个阶段才是读源码 原因是,必须熟练才有用,不然读了也白扯 熟练使用该模块 熟练掌握npm 熟练掌握nodejs语法 有了这个前提你就可以阅读了。 当然事情也不能绝对,没这些,你也可以看,从中找出有用的写法或者学习代码规范也是好的。 看目录结构(express

  • 问题内容: 是否存在有关如何以一定速率读取长文件的文章/算法? 说我不想在发出读取数据时以每秒10 KB的速度通过。 问题答案: 粗略的解决方案是一次读取一个块,然后休眠,例如10k,然后休眠一秒钟。但是我要问的第一个问题是:为什么?有两个可能的答案: 您不希望创建工作比完成任务快。要么 您不想在系统上造成太大的负担。 我的建议是不要在读取级别上对其进行控制。这有点混乱和不准确。而是在工作结束时对

  • 问题内容: 我有一个2 GB的文件(),其中文件中的每一行都是一个单词,就像: 我需要编写一个程序来读取文件中的每个单词并打印单词计数。我使用Java和C 编写它,但结果令人惊讶:Java运行速度是C 的2.3倍。我的代码如下: C ++: 输出: Java: 输出: 在这种情况下,为什么Java比C 快?如何提高C 的性能? 问题答案: 您不是在比较同一件事。Java程序读取行,以换行符开头,而

  • 我有一个actor处理消息并通过异步API(ReactiveMongo)存储其结果。IE当计算完成时,actor请求ReactiveMongo存储计算结果,该调用是非阻塞的。 如何停止参与者处理下一个消息,直到上一个ReactiveMongo请求功能完成?此外,邮箱应该能够接收传入的消息。

  • ReadMore 展开阅读更多 平台差异说明 App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序 √ √ √ √ √ √ √ 基本使用 通过slot传入正文内容 <template> <u-read-more> <rich-text :nodes="content"></rich-text> </u-read-more> </template> <script>