我想获取在我的计算机上的Outlook应用程序中的两个指定邮件地址发送的所有电子邮件的SenderEmailAddress:123 @ abc.com和456@def.com,重点是列出所有邮件将保存在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)
我不知道如何修复此问题并最终访问我的第二个邮件地址,如果有人能够帮助我,那就太棒了。
谢谢!
答案 0 :(得分:2)
这是因为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