如何在python中搜索特定的Outlook电子邮件

时间:2016-08-03 13:15:20

标签: python email outlook python-2.x

我有以下代码可以使用,它可以在我的Outlook收件箱中读取最新的电子邮件并打印该邮件的正文。但是,我希望能够指定静态电子邮件地址,并返回该人的所有消息。我如何更改代码来做到这一点?

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
message = messages.Getlast
body_content = message.body
print body_content

我认为这就像将'messages.Getlast'更改为'messages.Get('这里的电子邮件地址')一样容易,但没有运气。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您已经有一个脚本可以让您获取文件夹中的消息列表:

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

收到所有邮件后,您只需检查邮件发件人是否相同:

sender = "my_sender"
sender = sender.lower()
for message in messages:
    if sender in message.sender.lower():
        # This message was send by sender
        print message.body

该代码应打印message in messagessender所包含的每个message.sender的正文。

我添加了lower()函数以避免上限出现问题。您可能想要将其删除。

希望它会有所帮助。