繁体   English   中英

如何使用 Exchangelib python 获取 Message 的父文件夹名称

[英]How to get the parent folder name of Message with Exchangelib python

我有一个项目 object 通过在 python 3.7 中使用 exchangelib 过滤帐户获得。 它是 email object。 我需要找到该项目的父文件夹名称。 我特别需要文件夹的名称字段(这是用于跟踪特定电子邮件在邮箱中的移动位置)。

我可以在 object 项目中看到一个字段 parent_folder_id,它返回我认为有效的文件夹 ID。 这也适用于生产邮箱,其中account.root.get_folder(folder_id=idObj)由于我无法更改的 Exchange 设置而超时。 几乎所有缓存的请求都会因超时而失败。

account=Account(...)
mailItems=account.inbox.all().filter(subject="foo")
print([i.parent_folder_id.id for i in mailItems])

这将打印文件夹 ID 列表。 我需要这些文件夹的名称。 不清楚如何进行。 任何帮助,将不胜感激

由于您只搜索account.inbox而不是其子文件夹, parent_folder_id将始终指向account.inbox

目前还没有一个很好的 API 用于通过 ID 查找文件夹。 目前最好的解决方案是使用文件夹 QuerySet:

from exchangelib.folders import SingleFolderQuerySet

f = SingleFolderQuerySet(
    account=account,
    folder=account.root
).get(id=i.parent_folder_id.id)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM