我正在尝试使用 node-imap 包从我的草稿文件夹中搜索电子邮件
所以我的文件所做的是,它使用基于主题的 imap 搜索功能,并且由于主题数量是动态的,因此我们随时构建搜索查询。
这是一个示例搜索查询
[
'UNDELETED',
[
'OR',
[
'OR',
[
'OR',
[ 'SUBJECT', '<My Subject 3>' ],
[ 'SUBJECT', ' <My Subject 2> ' ]
],
[ 'SUBJECT', '<My Subject 1>' ]
],
[ 'SUBJECT', 'abc' ]
]
]
现在,到目前为止一切正常。但是,如果主题字段为空,并且我重写了与下面给出的相同的代码,我会得到 Error: infeasible query (Failure)
[
'UNDELETED',
[
'OR',
[
'OR',
[
'OR',
[ 'SUBJECT', '<My Subject 3>' ],
[ 'SUBJECT', ' <My Subject 2> ' ]
],
[ 'SUBJECT', '<My Subject 1>' ]
],
[ 'SUBJECT', '' ]
]
]
我已经尝试用
''
替换 null
并将其留空,但无济于事。任何有关此事的帮助将不胜感激。
RFC 9051 第 6.4.4 节 说:在所有使用字符串的搜索键中,除非另有说明,否则如果字符串是子字符串,则消息与键匹配 相关文本。
空字符串是每个(其他)字符串的子字符串,因此您的搜索意味着“任何主题”。我知道这是不可行的。
根据您想要执行的操作,如果您有合适的 foo 值,则可以重写搜索以使用
NOT SUBJECT "foo"
。