python - 如何从特定文件夹中的 Outlook 中的不同帐户读取 Outlook 电子邮件?
问题描述
我正在尝试仅从登录到我的 Outlook 的特定帐户中读取电子邮件。假设我有帐户 1、2、3、4、5 并假设他们都有自定义文件夹:文件夹 1、文件夹 2、文件夹 3。我只想从帐户 1 中读取文件夹 1、2 和 3 中的所有电子邮件, 3 和 5。
我的代码似乎没问题,但我的问题是我似乎真的不知道如何选择我想从中读取的帐户,所以我的代码只读取一个默认帐户。我需要知道如何指定要读取的帐户。
import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
folders = ["Folder 1", "Folder 2", "Folder 3"]
for folder in folders:
messages = inbox.Folders(folder).Items
for msg in messages:
print(msg.Subject)
ETC...
// 编辑 //
为此,我做了以下工作:
import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
stores = outlook.Stores # Storing the different outlook profiles
# Loop through each outlook profile
for store in stores:
if "Account 1" in store.DisplayName or "Account 3" in store.DisplayName or "Account 5" in store.DisplayName:
inbox = store.GetDefaultFolder(6) # Get Inbox
folders = ["Folder 1", "Folder 2", "Folder 3"]
for folder in folders:
messages = inbox.Folders(folder).Items
for msg in messages:
print(msg.Subject)
解决方案
而不是调用Namespace.GetDefaultFolder
,循环遍历Namespace.Stores
集合中的存储并为每个Store
对象调用Store.GetDefaultFolder
。
推荐阅读
- java - Arraylist的ArrayList的字典排序
在java中 - javascript - 在通过 AJAX 加载的内容处执行 JS 脚本
- machine-learning - 多个对象的动作识别和定位
- python - 创建两个分类变量的热图
- angularjs - ng-click 在按钮上不起作用(angularjs-django)
- typescript - 配置 webpack/typescript:入口模块中的错误 - 无法解析“./src”
- visual-studio-2017 - Visual Studio 2017 项目/解决方案中的哪些文件应该被 SVN 忽略?
- javascript - 使用 Google Maps API 快速让用户选择地址
- java - 在 Java 中使用 Hibernate Criteria 查询从 jsonb postgreSQL 中选择键
- php - 使用 composer 在 MongoDB 中创建数据库时出错