Python win32com: чтение нескольких почтовых ящиков Outlook - PullRequest
0 голосов
/ 17 мая 2018

Я хочу получить SenderEmailAddress всей электронной почты, отправленной на два указанных почтовых адреса: 123@abc.com и 456@def.com, которые находятся в моем приложении Outlook на моем компьютере, суть в том, чтобы составить список всей почтыотправители, которые будут храниться в CSV-файле.

Архитектура этих почтовых ящиков:

123@abc.com

  • -> Входящие

&

456@def.com

  • -> Входящие

Я хочу прочитать папки «Входящие» издва почтовых ящика и хранить SenderEmailAddress из двух папок

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)

Я обнаружил, что для некоторых людей это работает с использованием

inbox = outlook.GetDefaultFolder(6).Folders[1] # To access 123@abc.com Inbox
inbox = outlook.GetDefaultFolder(6).Folders[2] # To access 456@def.com Inbox

Но в моем случае это просто получает меня внутрьдве подпапки, которые находятся внутри папки «Входящие» и ничего более, у меня нет возможности вообще получить доступ ко второму почтовому ящику.У меня есть возможность обнаружить эти почтовые ящики с помощью

for folder in outlook.Folders: 
    print(folder.Name)

Я не знаю, как это исправить и, наконец, получить доступ ко второму почтовому адресу, если кто-нибудь сможет мне помочь в этом, было бы здорово,

Спасибо!

1 Ответ

0 голосов
/ 17 мая 2018

Это происходит потому, что GetDefaultFolder(6) ссылается на первый Inbox, поэтому .Folders[1] и .Folders[2] приведут вас только к подпапкам того же первого Inbox.

Вы можете получить доступэти входящие, указав их так:

inbox = outlook.Folders('123@abc.com').Folders('Inbox') # To access 123@abc.com Inbox
inbox = outlook.Folders('456@def.com').Folders('Inbox') # To access 456@def.com Inbox
...