首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Exchangelib加速获取电子邮件

使用Exchangelib加速获取电子邮件
EN

Stack Overflow用户
提问于 2021-03-29 13:46:26
回答 2查看 557关注 0票数 1

目前,我以这种方式使用迭代器获取电子邮件:

for item in account.inbox.filter(datetime_received__gt=__LAST_ANALYSYS__+timedelta(0,1)):

我还测试if type(item) == Message:作为另一个过滤层。

问题:获取400+消息需要5-10分钟;我有一个macbook 3.5 GHz双核英特尔核心i7和16 GB 2133 MHz LPDDR3。我有相当快的宽带连接。

该应用程序不久将被迁移到Azure。检索速度会提高吗?

或者,我还能用别的把戏吗?我看到了一篇关于使用only(attribs)方法的文章,但不确定这是否对实际有帮助,或者如何将它与account.inbox.filter方法结合起来?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-31 23:19:43

只要尝试一下.only()方法,看看它是否对您的用例有帮助。通常是这样的,因为没有它,您将获取所有内容:附件、MIME内容和其他重字段。如果您的文件夹中的消息项与其他项类型的比率较低,则在item_class上执行过滤器也会使您受益,因此您是在过滤服务器端,而不是客户端。

.only()支持链接,就像Django QuerySets:some_folder.filter(...).only(...)一样。请参阅https://ecederstrand.github.io/exchangelib/#searching

票数 3
EN

Stack Overflow用户

发布于 2021-03-29 13:50:32

您可以使用类似多线程的方法来加快进程。将取取部分保存在函数中,然后运行以下命令:

代码语言:javascript
运行
复制
threading.Thread(target=(function_name))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66855385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档