我想列出Outlook中的所有文件夹,比如:
xyz@abc.comInboxCustomersCustomer A
xyz@abc.comInboxCustomersCustomer B
xyz@abc.comInboxVendorsVendor A
我发现了一个代码,但我不知道如何在递归调用期间收集和连接文件夹。
import codecs, win32com.client
def DumpFoldersRecursive(folders,indent):
folder_paths = []
for i in range(1,folders.Count+1):
folder = folders[i]
print(folder)
DumpFoldersRecursive(folder.Folders,indent+1)
def DumpOutlookFolders():
o = win32com.client.Dispatch("Outlook.Application")
DumpFoldersRecursive(o.GetNamespace("MAPI").Folders,0)
o = None
DumpOutlookFolders()
你能告诉我如何填充folder_paths列表吗?
你可以看看Exchangelib。
对于你想要做的事情,它有很多有用的函数,但我想你可以只使用树函数,看起来像这样:
print(a.root.tree())
'''
root
├── inbox
│ └── todos
└── archive
├── Last Job
├── exchangelib issues
└── Mom
'''