带有分钟数的python imap邮件搜索

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

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

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

如何按分钟搜索?

python imap
2个回答
6
投票

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

是:自“ 2014年3月1日”开始搜索a1

[自2014年3月1日00:00:00以来没有a1搜索]

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

  • SEARCH 498499500

从“ 2014年3月1日00:00:00”开始搜索1次

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

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

1次获取498:500内部日期

  • 498 FETCH(INTERNALDATE“ 2014年3月4日13:07:29 -0600”]]]

  • 499 FETCH(INTERNALDATE“ 05-Mar-2014 07:16:43 -0600”]]]

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

  • 或如果希望使用该日期,则获取498:500(body.peek [header.fields(日期)])。]

    -Rick

基本IMAP不允许这样做。有一个扩展名WITHIN来执行此操作,但已实现该扩展名。查看您的服务器是否支持WITHIN。如果不是这样,您只需要搜索今天的邮件,检索日期字段或INTERNALDATE,然后自己进行微调即可。


0
投票

基本IMAP不允许这样做。有一个扩展名WITHIN来执行此操作,但已实现该扩展名。查看您的服务器是否支持WITHIN。如果不是这样,您只需要搜索今天的邮件,检索日期字段或INTERNALDATE,然后自己进行微调即可。

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