首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python :读取多个Outlook收件箱

Python :读取多个Outlook收件箱
EN

Stack Overflow用户
提问于 2018-05-17 15:33:11
回答 1查看 5.3K关注 0票数 5

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

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

123@abc.com

  • ->收件箱

&

456@def.com

  • ->收件箱

我想从这两个邮箱中读取收件箱文件夹,并从这两个文件夹存储SenderEmailAddress

代码语言:javascript
运行
复制
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)

我发现对某些人来说,使用它很有效

代码语言:javascript
运行
复制
inbox = outlook.GetDefaultFolder(6).Folders[1] # To access 123@abc.com Inbox
inbox = outlook.GetDefaultFolder(6).Folders[2] # To access 456@def.com Inbox

但在我的例子中,它只会让我进入收件箱内的两个子文件夹中,而没有别的,我根本没有可能访问第二个邮箱。我有可能通过

代码语言:javascript
运行
复制
for folder in outlook.Folders: 
    print(folder.Name)

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

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-17 16:52:52

这是因为GetDefaultFolder(6)引用的是第一个Inbox,因此.Folders[1].Folders[2]只会将您带到同一个第一个Inbox的子文件夹。

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

代码语言:javascript
运行
复制
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
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50395357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档