4

我正在寻找一个 IMAP 搜索子句来获取 GMail 的“[Gmail]/All Mail”内容,但过滤掉“[Gmail]/Drafts”中的邮件。

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

我已经尝试直接在“[Gmail]/Drafts”上进行 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”的建议。

4

2 回答 2

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

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

但是,在这种情况下,您可以通过 hack 解决这个问题:每个非空的 Delivered-To 都包含一个 @ 符号,因此只需搜索 @ 即可获得所需的结果。

于 2013-11-20T11:56:13.073 回答
0

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

于 2013-11-24T02:52:33.017 回答