我希望获得在两个指定邮件地址上发送的所有电子邮件的SenderEmailAddress :在我的计算机上的Outlook应用程序中的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)
我不知道如何修复这个问题,并最终访问我的第二个邮件地址,如果有人能在这方面帮助我,那就太好了。
谢谢!
发布于 2018-05-17 16:52:52
这是因为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
https://stackoverflow.com/questions/50395357
复制相似问题