0

我正在开发一个 Python 脚本,它将在一定日期范围内计算 Outlook 中我的收件箱文件夹中的电子邮件数量。

我正在使用“限制”来为我检查的电子邮件设置限制。变量“fecha”现在是静态的,仅用于测试。

问题是,如果我将过滤器设置为 11 天后,计数是正确的(在我的收件箱中手动检查),但如果我将 12 天以上设置为过滤器,则计数是错误的(比它应该的要多得多)。在正确的计数上,我平均收到大约 200 封电子邮件。数错了,我得到了大约 7000。

有谁知道这是为什么,如果有任何参数我应该更改以获得正确的数据?

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.Folders('account@domain.com').Folders('Inbox')
messages_inbox = inbox.Items
messages_inbox.Sort("[ReceivedTime]", True)

fecha = now - datetime.timedelta(days = 13) #days=11, cuenta bien, days=12 cuenta mucho mas(de 2566 a 9479)
fecha = fecha.replace(hour=0,minute=0,second=0)
print(fecha)
rec_messages_pastmonth = messages_inbox.Restrict("([ReceivedTime] >= '" +fecha.strftime('%m/%d/%Y %H:%M %p')+"')")

print(len(rec_messages_pastmonth)) 
print(fecha)

这段代码的输出是:

1141
2021-12-25 00:00:00.763213

最后我发现了我的错误。这是因为当时将日期(fecha)发送到outlook的日期格式。当前景搜索正在解释日月年时,我正在通过月-日-年。解决了这个问题,我终于得到了正确的值。感谢大家的努力。

4

0 回答 0