获取特定Outlook文件夹/收件箱中的类别列表

时间:2016-04-29 14:59:48

标签: python python-2.7 email outlook mapi

我正在尝试使用Python提取特定Outlook文件夹中的类别列表。

例如,我连接到以下收件箱"个人"和"工作"。

以下代码将返回个人收件箱主列表中的类别列表:

outlook = win32com.client.Dispatch("Outlook.Application")
myfolder = outlook.GetNamespace("MAPI").Folders["Work"]
for cat in myfolder.session.categories:
    print cat

那么如何获取我的工作收件箱列表?

3 个答案:

答案 0 :(得分:0)

类别作为隐藏项目存储在每个商店的默认日历文件夹中 - 您可以在OutlookSpy中查看数据:转到日历文件夹,单击IMAPIFolder按钮,转到“关联内容”选项卡,双击消息类为“IPM.Configuration.CategoryList”的消息,选择PR_ROAMING_XMLSTREAM属性。

您可以使用Outlook对象模型中的MAPIFolder.GetStorage访问该隐藏邮件,也可以使用Redemption及其RDOCategories对象(由RDOSession和{{3公开对象)。

答案 1 :(得分:0)

尝试迭代文件夹项目。

myfolder = outlook.GetNamespace("MAPI").Folders['Work']
for messages in myfolder.Items:
    print(messages)

答案 2 :(得分:0)

尝试

#Outlook
outlook=win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI").Stores

for i in range(outlook.count):
    for cat in outlook[i].categories:
        print(cat)