我想获取在两个指定邮件地址上发送的所有电子邮件的SenderEmailAddress:我的计算机上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]
只会将您带到同一第一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