具有多个OR的IMAP标准

for*_*ste 6 imap gmail-imap

我正在使用gmail的IMAP API来搜索邮件.

我使用"OR"条件来搜索不同的关键字.如果我只去一个级别,就像这样的东西,那么效果很好

'UID SEARCH OR (FROM "somebody@email.com") (TO "somebody@email.com")'
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试更长的表达时,它不起作用

标准或标准或标准或标准

转换为(据我所知的语法)

'UID SEARCH OR ( OR (FROM "somebodyelse@email.com") (TO "somebodyelse@email.com")) ( OR (FROM "somebody@email.com") (TO "somebody@email.com"))'
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我基本上希望从给定的电子邮件列表中发送或发送给所有邮件

我从libray得到的错误是

[ 'A34', 'BAD', 'Could', 'not', 'parse', 'command' ]
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Paw*_*ski 6

不要使用括号.

IMAP使用不需要它们的波兰表示法:

UID SEARCH OR OR FROM one@mail.com TO one@mail.com OR FROM two@mail.com TO two@mail.com
Run Code Online (Sandbox Code Playgroud)

有些情况下需要括号(因为IMAP AND运算符可能需要超过2个操作数):https: //www.limilabs.com/blog/imap-search-requires-parentheses