2011-07-12 24 views
3

私はpythonにimaplibを使用しています。私は奇妙な動作に出くわしました。私はこれがimap ou imaplibの問題/機能なのかどうか本当に分かりません。だから私は誰でも私にいくつかの光を与えることを望んでいます。Imapの検索条件 - imaplib(python)

私のプロジェクトでは、Gmailのボックスでいくつかの検索を行います。 (私は "日付A" からのメールを持っている場合、今

(() "日付A" 以来の() "日B" の前に)、IMAP:私は次の基準とIMAPの検索を行うことを想像してみてlib)は予想されることをします: "日付A"から "データB"の前に電子メールを返します。美しい。 しかし、「日付A」以降のメールがない場合、imap(lib)は単にそれを無視し、「データA」以降ではなく「日付B」の前のすべてのメールを返します。

これはimapの予想される動作ですか?私は本当にそうは思わない、それは全く意味がありません。

私は本当に特定の期間を検索する機能が必要です。最後のメールの日付を知るたびにボックスをプールする必要はありません。

私はここに何かを逃していますか

+1

私は今、本当の問題を理解して[OK]をクリックします。 問題は、実際には、「日付A」と「日付B」(たとえば、「12-Jul-2011 09:46:00」と「12-Jul-2011 15: 46:00 ")、IMAPは日付の日、蛾、年だけを検索するように見えます。 私は、すべての日付を使用して検索を行うことができますか? – jpaires

答えて

6
M.search(None, '(since "12-Jul-2010" before "12-Jul-2011")') 

SINCE 
    Messages whose internal date (disregarding time and timezone) 
    is within or later than the specified date. 

    BEFORE 
    Messages whose internal date (disregarding time and timezone) 
    is earlier than the specified date. 

make sure that `SINCE < BEFORE` 
+0

確かに、主な問題は時間(時:分:秒)が使用されていないということです。その日のみです。 – jpaires

+0

IMAP仕様:http://www.faqs.org/rfcs/rfc3501.html –