我正在寻找一个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都包含一个@符号,所以只需搜索@就可以得到你想要的结果。
虽然不是直接的答案,但我最终下载了大量新消息,并扫描它们以查找标志。