Python - Win32Com - Outlook - 将今天发送的项目转发到收件箱

时间:2017-05-30 15:38:30

标签: python-2.7 loops outlook

我正在尝试创建一个脚本,将每天所有Outlook发送的项目从上午8:00转发到专用收件箱。

邮件必须保存在Outlook的已发送邮件文件夹中。

目前我收到了今天的所有电子邮件,但脚本的前面部分不起作用(我没有任何错误消息)

编辑1:感谢Jimmy的限制创意!

import win32com.client as win32

outlook = win32.Dispatch("Outlook.Application").GetNamespace("MAPI")

outbox = outlook.GetDefaultFolder(6) 

messages = messages = outbox.Items.restrict("[SentOn] > '5/31/2017 08:00 AM'")

for message in messages:
    NewMsg = message.Forward()
    NewMsg.To = "mail@mail.com" 

2 个答案:

答案 0 :(得分:1)

您之前使用的COM对象上有一个限制方法。 check this out

import win32com.client as win32

outlook = win32.Dispatch("Outlook.Application").GetNamespace("MAPI")

outbox = outlook.GetDefaultFolder(6) 

#try the restrict method!
messages = outbox.Items.restrict("[SentOn] > '5/30/2017 12:00 AM'")

for message in messages:
    print message

答案 1 :(得分:0)

已完成:对于有兴趣的人,您可以在下面找到解决方案

import win32com.client as win32

outlook = win32.Dispatch("Outlook.Application").GetNamespace("MAPI")

outbox = outlook.GetDefaultFolder(5) 

messages = outbox.Items.restrict("[SentOn] > '5/30/2017 08:00 AM'")

for message in messages:
    NewMsg = message.Forward()
    NewMsg.Body = message.Body
    NewMsg.Subject = message.Subject
    NewMsg.To = "mail@mail.com"
    NewMsg.Send()