繁体   English   中英

python imap邮件搜索分钟

[英]python imap mail search with minutes

我正在尝试通过 python imaplib 搜索“10 分钟前”的电子邮件我可以搜索带有任何字符串的电子邮件,但不能搜索日期。

result, data = mail.uid('search', None, '(HEADER Subject "SEARCH_TERM")')

如何按分钟进行搜索?

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

是:a1 搜索自“01-mar-2014”

否:自“01-mar-2014 00:00:00”以来的 a1 搜索

自“2014 年 3 月 1 日”以来搜索了 1 次

  • 搜索 498 499 500

自“01-mar-2014 00:00:00”以来搜索了 1 次

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

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

1 取 498:500 内部日期

  • 498 FETCH(国际“2014 年 3 月 4 日 13:07:29 -0600”)

  • 499 FETCH(国际“2014 年 3 月 5 日 07:16:43 -0600”)

  • 500 FETCH(INTERNALDATE“2014 年 3 月 5 日 07:44:36 -0600”)

或者 fetch 498:500 (body.peek[header.fields (Date)]) 如果你更喜欢使用那个日期。

-瑞克

基本 IMAP 不允许这样做。 有一个扩展, WITHIN ,可以做到这一点,但它被巧妙地实现。 查看您的服务器是否支持 WITHIN。 如果没有,您只需搜索今天的邮件,检索日期字段或 INTERNALDATE,然后自己进行微调。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM