使用 IMAP 搜索主题为空的电子邮件

问题描述 投票:0回答:1

我正在尝试使用 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
并将其留空,但无济于事。任何有关此事的帮助将不胜感激。

javascript node.js coffeescript imap
1个回答
0
投票

RFC 9051 第 6.4.4 节 说:在所有使用字符串的搜索键中,除非另有说明,否则如果字符串是子字符串,则消息与键匹配 相关文本。

空字符串是每个(其他)字符串的子字符串,因此您的搜索意味着“任何主题”。我知道这是不可行的。

根据您想要执行的操作,如果您有合适的 foo 值,则可以重写搜索以使用

NOT SUBJECT "foo"

© www.soinside.com 2019 - 2024. All rights reserved.