Saltar al contenido

Outlook usando python win32com para iterar subcarpetas

Te recomendamos que pruebes esta solución en un ambiente controlado antes de pasarlo a producción, saludos.

Solución:

Sí, es mejor escribirlo como el nombre de la carpeta en lugar de escribir los números de carpeta.

Al igual que mi jerarquía de carpetas es: Outlook_Mails> Bandeja de entrada> Importante

outlook = win32.com.client.Dispatch("Outlook.Application")
mapi = outlook.GetNamespace("MAPI")

your_folder = mapi.Folders['Outlook_Mails'].Folders['Inbox'].Folders['Important']
for message in your_folder.Items:
    print(message.Subject)

Este es el código que estoy usando para hacer una tarea similar.

outlook = win32com.client.Dispatch("Outlook.Application")
namespace = outlook.GetNamespace("MAPI")
root_folder = namespace.Folders.Item(1)
subfolder = root_folder.Folders['All'].Folders['Main Folder'].Folders['Subfolder']
messages = subfolder.Items

Esto encuentra los mensajes en la carpeta “Todos/Carpeta principal/Subcarpeta”.

No se puede hacer eso: Outlook almacena en caché las carpetas predeterminadas compartidas en el archivo OST principal. Las subcarpetas no se almacenan en caché. Si el buzón en cuestión se agrega como un almacén delegado, debería poder analizar la carpeta en cuestión usando Namespace.Folders o Namespace.Stores.

De lo contrario, puede usar Redemption y su RDOSession.GetSharedDefaultFolder – la carpeta se abrirá en el modo en línea con todas sus subcarpetas (RDOFolder.Folders).

Si para ti ha resultado de utilidad este post, nos gustaría que lo compartas con el resto seniors y nos ayudes a dar difusión a este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *