如何使用 Exchangelib 获取 Message 的父文件夹名称 python
How to get the parent folder name of Message with Exchangelib python
我在 python 3.7 中通过使用 exchangelib 对帐户进行过滤获得了一个 Item 对象。它是一个电子邮件对象。我需要找到这个项目的父文件夹名称。我特别需要文件夹的 name 字段(这是为了跟踪特定电子邮件在邮箱中的移动位置)。
我可以在项目对象中看到一个字段 parent_folder_id,我认为它 returns 是一个有效的文件夹 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)
我在 python 3.7 中通过使用 exchangelib 对帐户进行过滤获得了一个 Item 对象。它是一个电子邮件对象。我需要找到这个项目的父文件夹名称。我特别需要文件夹的 name 字段(这是为了跟踪特定电子邮件在邮箱中的移动位置)。
我可以在项目对象中看到一个字段 parent_folder_id,我认为它 returns 是一个有效的文件夹 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)