如何在GMail IMAP中制定搜索“HEADER Delivered-To is empty”? (或搜索“[Gmail] /所有邮件”并排除“/草稿”)

时间:2013-08-12 03:34:56

标签: imap gmail-imap

我正在寻找IMAP搜索条款来获取GMail的“[Gmail] /所有邮件”内容,但会过滤掉“[Gmail] /草稿”中的邮件。

IMAP DRAFT标志对GMail的IMAP没有帮助。通过比较完整的标题,我注意到草稿在“Delivered-To”字段中没有价值 - 它在“[Gmail] / Drafts”中的所有邮件的标题中都没有。

我已尝试直接在“[Gmail] /草稿”上进行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 is empty”提出建议。

2 个答案:

答案 0 :(得分:1)

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

HEADER键搜索包含给定子字符串的给定名称的标题字段。也就是说,标题“foo”“”搜索具有foo标题字段的消息,空或不是。没有正确的方法来搜索具有非空字段的消息。

但是,在这种情况下你可以解决这个问题:每个非空交付包含一个@符号,所以只需搜索@就可以获得你想要的结果。

答案 1 :(得分:0)

虽然不是直接的答案,但我最终下载了新邮件的正文并扫描了它们的标记。