python imap邮件用分钟搜索

use*_*174 3 python imap

我试图通过python imaplib搜索"10分钟以上"的电子邮件我可以搜索任何字符串的电子邮件,但不是日期.

result, data = mail.uid('search', None, '(HEADER Subject "SEARCH_TERM")')
Run Code Online (Sandbox Code Playgroud)

我怎样才能在几分钟内进行搜索?

Ric*_*ers 6

SEARCH命令(SENTSINCE,SINCE,SENTBEFORE,SENTON,BEFORE)仅适用于日期,而不是日期+时间戳.这意味着搜索条件仅限于DD-MMM-YYYY.您不能包括小时,分钟或秒,只包括日期.

是:a1搜索"01-mar-2014"

NO:a1搜索"01-mar-2014 00:00:00"

自"01-mar-2014"以来的1次搜索

  • 搜索498 499 500

自"01-mar-2014 00:00:00"以来的1次搜索

IMAP命令中出现1 BAD错误SEARCH:搜索日期参数无效

您必须查看搜索返回其消息编号的每条消息,并在代码中应用时间戳过滤.例如:

1获取498:500内部日期

  • 498 FETCH(INTERNALDATE"04-Mar-2014 13:07:29 -0600")

  • 499 FETCH(INTERNALDATE"05-Mar-2014 07:16:43 -0600")

  • 500 FETCH(INTERNALDATE"05-Mar-2014 07:44:36 -0600")

或者如果您更喜欢使用该日期,则获取498:500(body.peek [header.fields(Date)]).

-Rick