python - python win32com.client Outlook 应用程序未过滤收到的电子邮件
问题描述
我编写了如下代码,但它没有做时间过滤器。我究竟做错了什么?
import win32com.client
import os
from datetime import datetime, timedelta
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
# setup range for outlook to search emails (so we don't go through the entire inbox)
received_dt = datetime.now() - timedelta(days=1)
received_dt = received_dt.strftime('%m/%d/%Y %H:%M %p')
# Select main Inbox
inbox = outlook.Folders("example@mydomain.com").Folders("Inboxx")
messages = inbox.Items.Restrict("[ReceivedTime] >= '" + received_dt + "'")
for message in messages:
print(str(message.ReceivedTime))
我正在粘贴下面代码的输出。
2021-07-05 19:56:03.826000+00:00
2021-09-21 23:13:31.429000+00:00
2021-09-26 22:15:13.527000+00:00
2021-10-03 12:45:04.919000+00:00
2021-10-03 19:43:05.916000+00:00
2021-10-03 20:40:05.875000+00:00
你能帮我吗?
解决方案
在调用 Restrict 方法之前尝试计算日期和时间字符串:
import win32com.client
import os
from datetime import datetime, timedelta
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
# setup range for outlook to search emails (so we don't go through the entire inbox)
lastWeekDateTime = dt.datetime.now() - dt.timedelta(days= 7)
lastWeekDateTime = lastWeekDateTime.strftime('%Y-%m-%d %H:%M') #<-- This format compatible with "Restrict"
received_dt = datetime.now() - timedelta(days=1)
received_dt = received_dt.strftime('%m/%d/%Y %H:%M %p')
# Select main Inbox
inbox = outlook.Folders("example@mydomain.com").Folders("Inboxx")
messages = inbox.Items.Restrict("[ReceivedTime] >= '" + received_dt + "'")
for message in messages:
print(str(message.ReceivedTime))
在如何:使用限制方法从文件夹文章中检索 Outlook 邮件项目中阅读有关该Restrict
方法的更多信息。
推荐阅读
- javascript - 使用正则表达式搜索双括号文本或双括号
- php - Wordpress 5.0 REST API 帖子/{ID} 返回 404 状态
- c++ - Warning against C++ implicit conversion
- php - PHP:如果给定的字符串包含括号,则 preg_replace 不返回任何内容
- git - git:分支自动合并(并且不需要)
- google-apps-script - 如何防止 GmailMessage.getBody() 打印中的 xss
- c# - 数组中坐标之间的欧几里得距离
- multithreading - 如何使用线程同时运行 CPU 和 GPU 功能?
- java - JVM JIT 是否生成系统调用指令?
- javascript - Morris.js 中正确的数据格式应该是什么