1

我可以使用遍历所有邮件文件夹for item in account.root.get_folders()if item.__class__ == exchangelib.folders.Messages:但是如何获取该文件夹中邮件使用的空间量?

我从该文件夹大小在线阅读是 EWS 扩展属性类型,但我如何通过 exchangelib 获得它?(仅供参考,该属性是 PropertyTag:0x0e08;PropertyType:Integer)

4

1 回答 1

1

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))
于 2017-07-10T20:04:46.057 回答