javamail 收件效率

发布于 2021-12-05 17:22:56 字数 150 浏览 852 评论 4

大家好,我用myeclipse编写了用Foxmail收取邮件的小程序。结果运行以后把整个邮箱的邮件都循环了一遍,耗时比较久。而我只需要某段时间中,主题包含某个字段的邮件。能不能只循环某段时间的邮件或者不用打开邮件进行筛选,有没有谁知道优化的方法,求教,谢谢!(for循环中需要的时间久)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

樱花落人离去 2021-12-06 10:42:23

不好意思,这个问题我搁置了很久,也是没有解决,按理来说是可以不打开邮件只拉取收信箱列表的,通过类似时间戳的东西进行筛选。这样效率会高很多。可是不知道怎么做。

清欢 2021-12-06 10:05:43

请问楼主解决了没有?我最近开发也遇到了这个问题。

叹沉浮 2021-12-05 20:33:23

我刚刚做开发,这方面的问题描述的不太清楚。总言之就是 我直接连接了邮箱的服务器,去查询收件中主题带有某字段的邮件Sub=(项目+日期),然后它似乎要获取所有收件内容再根据邮件主题筛选出相关邮件的。我想到的第一个方法是能不能只获取这些邮件的主题而不是加载所有内容以提高效率。网上查了一下说要根据邮件的UID来查询邮件会快一点。但是不知道用邮件的UID怎么去筛选相关邮件。第二个方法是能不能只读取某段时间的邮件减少总量。但是没有找到相关内容。试了一下SearchTerm好像也是要加载全部邮件才能筛选的。关于你说的本地的分组,我去试试看。谢谢哦。

2021-12-05 18:59:03

你这个描述能力,唉。只有开发过你这个需求的人知道你在说什么。

我只有猜测你遇到了什么问题!
你写了个程序可以通过输入用户名和密码通过foxmail收取邮件,但是发现想取到某个邮箱中的某段时间的邮件需要把服务器上的所有邮件都download下来然后遍历才可以
解决思路:
看看收取邮件api和收取新邮件api的区别,看看是否有时间条件,比如收取XXX日期之后的邮件,或者获取某个id之后的新邮件
如果是id,看看id规律,随机跳跃id,查看日期,找出最近的日期,循环下载

如果是本地把所有的邮件都下载下来了,但是遍历查找相关邮件慢,那么想办法将邮件分开成组,开多线程,分组遍历,这样就快了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文