Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用python对Outlook收件箱中来自特定发件人的所有电子邮件进行排序?_Python_Email_Outlook_Pywin32 - Fatal编程技术网

是否可以使用python对Outlook收件箱中来自特定发件人的所有电子邮件进行排序?

是否可以使用python对Outlook收件箱中来自特定发件人的所有电子邮件进行排序?,python,email,outlook,pywin32,Python,Email,Outlook,Pywin32,我需要对我的企业outlook帐户进行排序,并希望对通过某个地址发送的所有电子邮件进行排序,并找到该电子邮件的所有回复。我的理解是,我可以使用win32com.client模块访问outlook,并且能够阅读文件夹中所有“未读”的电子邮件。但是,我想更改过滤器,根据特定发件人阅读电子邮件。我似乎找不到一个可以在messages对象上调用的方法的全面列表。你能指定一个发送者吗 以下是我目前的代码: import win32com.client outlook = win32com.client.

我需要对我的企业outlook帐户进行排序,并希望对通过某个地址发送的所有电子邮件进行排序,并找到该电子邮件的所有回复。我的理解是,我可以使用win32com.client模块访问outlook,并且能够阅读文件夹中所有“未读”的电子邮件。但是,我想更改过滤器,根据特定发件人阅读电子邮件。我似乎找不到一个可以在messages对象上调用的方法的全面列表。你能指定一个发送者吗

以下是我目前的代码:

import win32com.client

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")

inbox = outlook.GetDefaultFolder(6) # "6" refers to the index of a folder - in this case,
                                    # the inbox. You can change that number to reference
                                    # any other folder
messages = inbox.Items
messages.Sort("[ReceivedTime]",True)

sender = 'xxxxx@xxxx.com'
for message in messages:
    if sender in message:
        print (message.body)

迭代文件夹中的所有项目并不是一个好主意。相反,您需要使用Outlook中
Items
类的方法。请在以下文章中阅读更多关于它们的信息:

例如,可以使用以下搜索条件:

outItems = Items.Restrict("[SenderEmailAddress] = " & "'" & address & "'")
此外,您可能会发现
应用程序
类的方法很有用。在Outlook中使用“AdvancedSearch”方法的主要好处是:

  • 搜索在另一个线程中执行。您不需要手动运行另一个线程,因为
    AdvancedSearch
    方法会在后台自动运行它
  • 可以在任何位置搜索任何项目类型:邮件、约会、日历、备注等,即超出特定文件夹的范围。Restrict和
    Find
    /
    FindNext
    方法可应用于特定的
    项目
    集合(请参阅Outlook中文件夹类的
    项目
    属性)
  • 完全支持DASL查询(自定义属性也可用于搜索)。您可以在MSDN中的文章中阅读更多有关这方面的内容。为了提高搜索性能,如果为商店启用了即时搜索,则可以使用即时搜索关键字(请参见商店类的
    IsInstantSearchEnabled
    属性)
  • 您可以使用search类的
    stop
    方法随时停止搜索过程