首页 > 解决方案 > 基于日期范围的电子邮件限制无法使用 Python

问题描述

我正在尝试运行一个功能,该功能仅显示具有日期限制的未读电子邮件的主题。当我尝试在 Python 中运行以下代码时,它仍然显示两周前的未读电子邮件。

import win32com.client
import pythoncom
import json
import os
from datetime import date, timedelta
import datetime as dt

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

for message in messages:
    if message.Unread == True:
        lastWeekDateTime = dt.datetime.now() - dt.timedelta(days = 7)
        lastWeekDateTime = lastWeekDateTime.strftime('%m/%d/%Y %H:%M %p')
        message = messages.Restrict("[ReceivedTime] >= '" + lastWeekDateTime +"'")
        print(messages.subject)

标签: pythonoutlook

解决方案


即使我今天也遇到了这个问题,发现这是因为日期格式。

我将格式更改为 "lastDay.strftime('%d/%m/%Y %H:%M %p')+"'")" 并且它按预期工作。

希望他对你有帮助

在此处输入图像描述


推荐阅读