如何确定 python 中 outlook 项目的类型

How to determine type of an outlook item in python

我正在尝试遍历大量电子邮件档案,并找到具有不同属性的各种内容。我目前有以下代码,它成功加载了文件夹,并开始循环遍历它。但是,当它遇到的下一个项目是约会时(我猜是 '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)

您可以使用 MessageClass 属性 个 Outlook 项目。有关详细信息,请参阅 Item Types and Message Classes