簡體   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