python - Python:按日期范围过滤 Outlook 味精
问题描述
我有以下代码,但无法使用日期时间范围正确过滤。我看到了一些使用循环并比较已转换为日期时间的 ReceivedTime 的解决方案,但这不是我想要的。我想首先检查文件夹中过滤的电子邮件数量(特定日期时间范围内的未读电子邮件)。如果过滤的电子邮件数量符合特定标准,那么我将继续循环每封过滤的电子邮件。感谢是否有人有任何想法如何做到这一点:
# Import
import win32com.client
import win32com
import os
import sys
import datetime
# Open Microsoft Outlook
outlook = win32com.client.Dispatch('Outlook.Application')
# Set Outlook Folder Name
inbox = outlook.GetNamespace('MAPI').GetDefaultFolder(6)
folder = inbox.Folders['FilteredFolder']
# Set Outlook date filter
sFilter = "[ReceivedTime]>'{0}".format((datetime.datetime.today() - datetime.timedelta(hours=2)).strftime("%y-%m-%d %H:%M:%S")) + "'" # Lower datetime bound
sFilter2 = "[ReceivedTime]<'{0}".format((datetime.datetime.today()).strftime("%y-%m-%d %H:%M:%S")) + "'" # Upper datetime bound
messages = folder.Items.Restrict('[Unread] = True') # Restrict for Unread emails
messages = messages.Restrict(sFilter) # Restrict the datetime lower bound
messages = messages.Restrict(sFilter2) # Restrict the datetime upper bound
no_of_messages = len(messages) # Mail count
print(str(no_of_messages))
解决方案
推荐阅读
- binutils - strip --remove-section 与 objcopy --remove-section 有什么区别
- c# - 从数据库导出 XML 文件并在实际列之前获得没有任何属性的干净格式
- javascript - checkValidity() 和 reportValidity() 在 for 循环中不起作用
- oracle - 我需要在一个事务中执行多个 Breeze SaveChanges
- python - Django视图不接收Json数据?
- c++ - std::vector (ab) 使用自动存储
- php - move_uploaded_file():copy() 函数的第二个参数不能是目录
- c# - C#使用正则表达式删除行,包括换行
- c++ - 为什么类成员变量调用已删除的复制构造函数,而局部变量调用构造函数?
- sql-server - 在 SSIS 加载期间将 Oracle rowidtochar() 字段评估为 SQL Server nvarchar(18) 字段时遇到问题