我可以使用for item in account.root.get_folders()
和if item.__class__ == exchangelib.folders.Messages:
遍历所有邮件文件夹但是如何获取该文件夹中邮件使用的空间量?
我从在线阅读文件夹大小是EWS扩展属性类型,但我如何通过exchangelib获取? (仅供参考,属性为PropertyTag:0x0e08; PropertyType:Integer)
答案 0 :(得分:0)
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))