我可以使用遍历所有邮件文件夹for item in account.root.get_folders()
,if item.__class__ == exchangelib.folders.Messages:
但是如何获取该文件夹中邮件使用的空间量?
我从该文件夹大小在线阅读是 EWS 扩展属性类型,但我如何通过 exchangelib 获得它?(仅供参考,该属性是 PropertyTag:0x0e08;PropertyType:Integer)
我可以使用遍历所有邮件文件夹for item in account.root.get_folders()
,if item.__class__ == exchangelib.folders.Messages:
但是如何获取该文件夹中邮件使用的空间量?
我从该文件夹大小在线阅读是 EWS 扩展属性类型,但我如何通过 exchangelib 获得它?(仅供参考,该属性是 PropertyTag:0x0e08;PropertyType:Integer)
exchangelib
还不支持文件夹的扩展属性。EWS 确实公开了size
可以轻松添加到的项目的属性exchangelib
(请随意打开问题:-)),这将允许您执行以下操作:
sum(some_folder.all().values_list('size', flat=True))
更新: 这是使用它来获取所有电子邮件(类 folder.Message)文件夹的文件夹大小的示例代码:
for folder in account.root.find_folders():
if folder.__class__ != exchangelib.folders.Messages:
continue
fsum = sum(folder.all().values_list('size', flat=True))
print('{0:>40s} {1:12,d}'.format(folder.name.encode('utf-8'), fsum))