У меня есть каталог с сотнями писем Outlook, сохраненных в формате .msg. У меня есть скрипт для доступа к определенным атрибутам, например, 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
Есть ли способ перечислить все доступные атрибуты для каждого файла? Или есть способ различать тип сообщения, например, электронная почта, календарь?