如何在python中确定Outlook项目的类型

时间:2018-06-29 17:47:51

标签: python-3.x outlook win32com

我试图遍历大量电子邮件档案,并找到具有不同属性的各种东西。我目前有以下代码,可以成功加载该文件夹,并开始遍历该文件夹。但是,当涉及下一个项目时,它似乎失败了(我猜一个项目的类型为“ AppointmentItem”),大概是因为AppointmentItems没有“ To”属性(错误是“ AttributeError:.to” )

我很高兴跳过所有AppointmentItem对象,但是我不知道如何以编程方式区分哪些是MailItems,哪些是其他东西。

import win32com.client   

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

email_list = []
archive_list = ['Archive1']

for folder in outlook.Folders:
    if folder.name in archive_list:
        sent = folder.Folders['Sent Items'].items
        for message in sent:
            print (message.to,message.subject)

1 个答案:

答案 0 :(得分:1)

您可以使用Outlook项目的MessageClass属性。有关更多信息,请参见Item Types and Message Classes