Python win32com:读取多个 Outlook 收件箱

Python win32com : Reading multiple Outlook inbox

我想获取在我计算机上的 Outlook 应用程序中的两个指定邮件地址上发送的所有电子邮件的发件人电子邮件地址:123@abc.com 和 456@def.com,重点是列出将保存在 csv 文件中的所有邮件发件人。

这些邮箱的架构是这样的:

123@abc.com

&

456@def.com

我想从两个邮箱中读取收件箱文件夹并存储两个文件夹中的发件人电子邮件地址

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)

我不知道如何解决这个问题并最终访问我的第二个邮件地址,如果有人能够帮助我解决这个问题那就太好了。

谢谢!

发生这种情况是因为 GetDefaultFolder(6) 引用了第一个 Inbox,因此 .Folders[1].Folders[2] 只会让您进入第一个 [=12] 的子文件夹=].

您可以像这样指定它们来访问这些收件箱:

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