Чтение сообщений электронной почты из Outlook с помощью Python через MAPI

Я пытаюсь написать короткую программу, которая будет читать содержимое электронной почты в папке в моем профиле Exchange / Outlook, чтобы я мог манипулировать данными. Однако у меня возникла проблема с поиском информации об интеграции Python и Exchange / Outlook. Многие материалы либо очень старые / не имеют документации / не объяснены. Я пробовал несколько фрагментов, но, похоже, получаю те же ошибки. Я' я пробовал код Тима Голдена:

import win32com.client

session = win32com.client.gencache.EnsureDispatch ("MAPI.Session")

#
# Leave blank to be prompted for a session, or use
# your own profile name if not "Outlook". It is also
# possible to pull the default profile from the registry.
#
session.Logon ("Outlook")
messages = session.Inbox.Messages

#
# Although the inbox_messages collection can be accessed
# via getitem-style calls (inbox_messages[1] etc.) this
# is the recommended approach from Microsoft since the
# Inbox can mutate while you're iterating.
#
message = messages.GetFirst ()
while message:
    print message.Subject
    message = messages.GetNext ()

Однако я получаю сообщение об ошибке:

pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)

Не уверен, какое имя у меня в профиле, поэтому я попытался ввести:

session.Logon()

, но это тоже не сработало (та же ошибка). Также пробовал как с открытым, так и с закрытым Outlook, и ничего не изменил.

40
задан Calon 7 January 2015 в 15:14
поделиться