imapclient日期和时间不正确

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

我最近开始使用imapclient,以便从Yahoo!提取电子邮件。帐户。该程序相对简单。如下:

yahoo=imap.IMAPClient('imap.mail.yahoo.com', ssl=True)
yahoo.login('myusername', 'mypassword')# cant tell you my username and password, can I?
yahoo.select_folder('Inbox', readonly=True)
# so far, everything is going fine.
yahoo.search(['ON 1-Nov-2015'])

这是问题。我已经在11月1日收到大量消息,并且该方法返回[]。我尝试的任何日期都无法使用。好像'ON'搜索根本不起作用。所以我尝试了另一种方法。

yahoo.search(['SINCE 1-Nov-2015'])

无论我重新启动该程序多少次,返回的电子邮件UID都少于实际数量。因此,我进行了调查,我认为这可能是问题所在:

yahoo.fetch(11636, 'BODY[]')

[11636是一封电子邮件,它的时间戳是11月1日上午10:20。相反,返回值表明它是在11月1日上午2:20收到的。我认为这是问题所在。

也许我弄错了,这就是问题所在。也许我做错了什么。无论哪种方式,任何帮助或建议都将不胜感激。

python python-3.x imapclient
2个回答
0
投票

我认为ON和SINCE可能正在使用UTC,而您在标头中看到的时区是(某些)本地时间。尝试根据UTC查询并查看是否获得预期的结果。


0
投票

我使用日期时间使其生效

import datetime
yahoo.search([u'SINCE', datetime.date(2015, 11, 1)])

有一个较晚的答案,对此表示抱歉:/

© www.soinside.com 2019 - 2024. All rights reserved.