4

GMail の「[Gmail]/All Mail」コンテンツを取得するが、「[Gmail]/Drafts」にあるメールを除外する IMAP 検索句を探しています。

IMAP DRAFT フラグは、GMail の IMAP では役に立ちません。完全なヘッダーを比較すると、下書きの「Delivered-To」フィールドに値がないことに気付きました。「[Gmail]/Drafts」のすべてのメッセージのヘッダーに値がありません。

「[Gmail]/Drafts」で直接 UID 検索を試みましたが、次の句/結果を含むいくつかのメッセージがあります。

メッセージを返さない句、または Delivered-To が存在しないすべてのメッセージを返す句を期待しています。

(HEADER Delivered-To "")         <- returns all drafts
(NOT (HEADER Delivered-To ""))   <- negating still returns all drafts!
(NOT HEADER Delivered-To "")     <- still returns all drafts
(HEADER Delivered-To NIL)        <- returns no messages - opposite to expected
(NOT (HEADER Delivered-To NIL))  <- returns all drafts
(NOT HEADER Delivered-To NIL)    <- returns all drafts
(NOT (DRAFT))                    <- returns all drafts
(DRAFT)                          <- returns none - opposite to expected, GMail doesn't seem to flag drafts with DRAFT

GMail IMAP の「HEADER Delivered-To は空ではありません」をどのように定式化するかについての提案をいただければ幸いです。

4

2 に答える 2

1
x uid search header "delivered-to" "@"

HEADER キーは、指定された部分文字列を含む指定された名前のヘッダー フィールドを検索します。つまり、header "foo" "" は、空かどうかに関係なく、foo ヘッダー フィールドを持つメッセージを検索します。空でないフィールドを持つメッセージを検索する適切な方法はありません。

ただし、この場合はハックで回避できます。空でないすべての Delivered-To には @ 記号が含まれているため、@ を検索するだけで目的の結果が得られます。

于 2013-11-20T11:56:13.073 に答える
0

直接的な答えではありませんが、最終的に新しいメッセージの本文をダウンロードし、それらをスキャンしてフラグを探しました。

于 2013-11-24T02:52:33.017 に答える