【问题标题】:How To Read Outlook Emails From Different Accounts in Outlook From Specific Folders?如何从特定文件夹中的 Outlook 中的不同帐户读取 Outlook 电子邮件?
【发布时间】:2019-12-11 20:54:59
【问题描述】:

我正在尝试仅阅读登录到我的 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)

等等……

// 编辑 //

为此,我做了以下工作:

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)

【问题讨论】:

    标签: python outlook automation com


    【解决方案1】:

    不要调用Namespace.GetDefaultFolder,而是循环遍历Namespace.Stores 集合中的存储,并为每个Store 对象调用Store.GetDefaultFolder

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-28
      • 2020-05-07
      相关资源
      最近更新 更多