使用`imap_tools`获取在特定日期收到的电子邮件

时间:2019-11-14 05:26:04

标签: python-3.x imap python-datetime

我正在尝试使用Python中的imap_tools包来获取特定日期收到的所有Outlook电子邮件。这是我用来获取我的两个联系人今天收到的所有电子邮件的正文/文本的代码

from imap_tools import MailBox, Q, OR
from datetime import datetime,date

day,month,year = datetime.now().strftime('%d-%m-%Y').split('-')

mailbox = MailBox('imap-mail.outlook.com').login(address, passe, initial_folder = 'INBOX/reports')
text = [msg.text for msg in mailbox.fetch(Q(OR(from_=['sender1@gmail.com', 'sender2@gmail.com']), 
                      subject='Daily Report', date=date(int(year), int(month), int(day))))]

我发现使用上面的代码时,今天没有收到任何电子邮件。但是,当我使用此代码时:

text = [msg.text for msg in mailbox.fetch(Q(OR(from_=['sender1@gmail.com', 'sender2@gmail.com']), 
                       subject='Daily Report', date=date(int(year), int(month), int(day)+1)))]

我得到结果。我试图理解为什么会这样。我以为我的查​​询部分Q()是不正确的,还是我缺少有关imap_tools中日期选项的信息?同样,有时代码会提取当天收到的不同日期(相隔少于24小时)发送的电子邮件。它与时区有关系吗?任何帮助将不胜感激。

0 个答案:

没有答案
相关问题