如何在 GMail IMAP 中搜索"HEADER Delivered-To is not empty"?(或搜索"[Gmail]/All Mail"并排除"/Drafts")



我正在寻找一个IMAP搜索子句,以获取GMail的"[GMail]/所有邮件"内容,但过滤掉"[GMail]/草稿"中的邮件。

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

我已经尝试过直接在"〔Gmail〕/草稿"上搜索UID,其中有一些带有以下子句/结果的消息:

我希望得到一个不返回消息的子句,或者不返回所有传递到的消息:

(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 not empty",我们将不胜感激。

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

HEADER键搜索具有给定名称的头字段,该字段包含给定的子字符串。也就是说,标头"foo""搜索具有foo标头字段的消息,无论是否为空。没有合适的方法来搜索具有非空字段的邮件。

然而,在这种情况下,你可以通过破解来解决这个问题:每个非空的Delivered To都包含一个@符号,所以只需搜索@就可以得到你想要的结果。

虽然不是直接的答案,但我最终下载了大量新消息,并扫描它们以查找标志。

最新更新