【问题标题】:How to read outlook emails from a specific outlook folder如何阅读特定 Outlook 文件夹中的 Outlook 电子邮件
【发布时间】:2020-12-07 04:14:18
【问题描述】:

我正在尝试从特定 Outlook 文件夹中读取所有 Outlook 电子邮件,而我当前的代码正在使用分配给 Outlook 中每个文件夹的默认编号来执行此操作。例如,我知道“6”表示“收件箱”,“16”表示“草稿”,我在这里使用 16 来循环草稿文件夹中的所有电子邮件。

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(16)
messages = inbox.Items

但我想更改我的源文件夹。我想在我的 Outlook 中创建一个新文件夹并将其用作我的源文件夹。但是,我不知道我创建的新文件夹的默认编号是多少,这意味着我不知道 outlook.GetDefaultFolder() 应该输入什么编号才能使用新文件夹。有什么方法可以检查 Outlook 中新文件夹的默认编号?或者我可以使用文件夹的名称而不是数字吗?

我将不胜感激。

【问题讨论】:

    标签: python python-3.x outlook


    【解决方案1】:

    如果您知道该文件夹在默认存储中,则可以从根文件夹开始向下钻取:

    folder = outlook.DefaultStore.GetRootFolder().Folders.Item("Inbox").Folders.Item("Inbox subfolder")
    

    如果文件夹在非默认存储中,需要先按名称查找存储:

    folder = outlook.Stores.Item("otheruser@domain.demo").GetRootFolder().Folders.Item("Inbox").Folders.Item("Inbox subfolder")
    

    【讨论】:

      【解决方案2】:

      您可以使用glob 模块

      您可以搜索匹配和扩展模式

      import glob
      print(glob.glob("/home/adam/*.txt"))
      

      并获取您要查找的文件类型的列表:

      ['/home/adam/file234.txt', '/home/adam/file235.txt', '/home/adam/file236.txt', .... ]
      

      【讨论】:

        猜你喜欢
        • 2021-12-26
        • 1970-01-01
        • 2019-12-11
        • 2021-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-05
        • 1970-01-01
        相关资源
        最近更新 更多