无法使用Python在最近1个小时内从Outlook中读取电子邮件

问题描述 投票:0回答:1

我正在尝试从过去1个小时的时间阅读我的电子邮件。我用下面的代码。在这里我没有收到任何错误,但没有给我任何输出。

import win32com.client
import datetime as dt
import pandas as pd
date_time = dt.datetime.now()

lastHourDateTime = dt.datetime.now() - dt.timedelta(minutes=60)  

outlook = win32com.client.Dispatch("Outlook.Application").GetNameSpace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items 
messages.Sort("[ReceivedTime]", True)
message = messages.GetLast()
lastHourMessages = messages.Restrict("[ReceivedTime] >= '" + lastHourDateTime.strftime('%m/%d/%y %H:%M %p') + "'")
timeStamp = dt.datetime.now().strftime("%d-%m-%Y_%H.%M.%S") 

for message in lastHourMessages 
   print(message.subject)

我检查了len(messages),它给了我收件箱邮件的总数。而len(lastHourMessages)显示为0。

据我说,Restrict功能无法正常工作。谁能帮我。

python outlook win32com
1个回答
0
投票

在下一行将%y更改为%Y

lastHourMessages = messages.Restrict("[ReceivedTime] >= '" + lastHourDateTime.strftime('%m/%d/%y %H:%M %p') + "'")

请确定,正确的是

lastHourMessages = messages.Restrict("[ReceivedTime] >= '" + lastHourDateTime.strftime('%m/%d/%Y %H:%M %p') + "'")
© www.soinside.com 2019 - 2024. All rights reserved.