【问题标题】:IMAP SEARCH complex queryIMAP SEARCH 复杂查询
【发布时间】:2011-10-25 08:56:28
【问题描述】:

我需要在 IMAP 邮箱中查找所有邮件,其中包含 BODY 中的 somestring 并且是 FROM someone@me.com 或 TO someone@me.com

尝试做:

49:51.53 > JBPM3 SEARCH CHARSET utf-8 "BODY \"somestring\" (OR (TO \"someone@me.com\") (FROM \"someone@me.com\"))"

接收:

49:51.71 < JBPM3 BAD Could not parse command

如何使用 GMail 使其工作?

【问题讨论】:

    标签: imap gmail-imap


    【解决方案1】:

    您可以跳过括号 '(' ')' 来对 IMAP 中的逻辑表达式进行分组。 波兰表示法中不需要括号(请参阅下面的编辑):

    A0001 SEARCH CHARSET utf-8 BODY "somestring" OR TO "someone@me.com" FROM "someone@me.com"
    

    您还可以使用 gmail 搜索语法 (X-GM-RAW) 命令: http://www.limilabs.com/blog/search-gmail-using-gmails-search-syntax

    [编辑] IMAP SEARCH 中有时需要括号。这是因为 AND 运算符可以有 2 个以上的操作数并且没有明确定义: http://www.limilabs.com/blog/imap-search-requires-parentheses

    【讨论】:

    • 只是一个快速的更正 - IMAP 不使用反向波兰符号(更像是:"somestring" BODY "someone@me.com" TO "someone@me.com" FROM OR AND),而只是简单地波兰(或前缀)符号。 IMAP 的设计基于 LISP,据我所知。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2011-05-14
    • 2013-06-28
    • 2017-05-10
    • 2014-11-06
    • 2011-06-08
    相关资源
    最近更新 更多