Estoy tratando de escribir un programa corto que leerá los contenidos de los correos electrónicos dentro de una carpeta en mi intercambio/perfil de Outlook para poder manipular los datos. Sin embargo, tengo problemas para encontrar mucha información sobre python e intercambio/integración de Outlook. Muchas cosas son muy antiguas/no tienen documentos/no se explicaron. Intenté varios fragmentos pero parece que estoy obteniendo los mismos errores. He intentado código de Tim Oro:Leyendo correos electrónicos desde Outlook con Python a través de MAPI
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()
Sin embargo, me sale un error:
pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)
No estoy seguro que mi nombre de perfil es lo que he intentado con:
session.Logon()
que se le pregunte pero eso tampoco funcionó (el mismo error). También probé con Outlook abierto y cerrado y ninguno cambió nada.
¿Ha considerado utilizar IMAP contra el servidor en lugar de depender de un cliente de Outlook? Dependiendo de su caso de uso, IMAP puede resultar viable y mucho más portátil (tanto clientes como servidores). –
@Jason IMAP se ve bien, pero desafortunadamente no está habilitado en la cuenta que estoy usando. – johnharris85