用win32com.client列出可用的消息属性

时间:2019-06-07 10:16:09

标签: python outlook win32com

我有一个目录,其中包含成百上千个.msg格式的Outlook电子邮件。我有一个脚本来访问特定的属性,例如SenderName,Subject等,但是脚本在某些文件上失败。经过调查,失败的文件是对日历邀请的响应,而失败的属性是“收件人”属性,因此在电子邮件和日历邀请之间必须以不同的方式进行处理。所有文件都以.msg格式存储,因此在不打开每个文件的情况下,无法通过可见的方式来区分哪个文件。

我发现一些其他文章集中于直接访问Outlook,而不是在目录中使用保存的.msg文件。我目前已对其中一些进行了硬编码(请参见下面的代码),但是此练习已证明,根据文件类型的不同,属性的行为可能有所不同。

下面是我的代码示例。

for eachFile in msgList:
    filePath = outDir + "\\" + eachFile
    msg = outlook.OpenSharedItem(filePath)
    print msg.ReceivedTime
    print msg.Subject
    print msg.Body
    print msg.To
    print msg.Size
    print msg.Attachments

是否有一种方法可以列出每个文件的所有可用属性?还是有一种方法来区分消息的类型,例如电子邮件,日历?

1 个答案:

答案 0 :(得分:0)

在访问任何消息属性之前,请检查Class属性(所有OOM对象公开)-olMailItem对象的属性为43(MailItem)。