在 python 中使用 imapclient.IMAPClient.search 搜索多个发件人地址

Searching for multiple FROM addresses using imapclient.IMAPClient.search in python

我一直在搜索,但自从我找到的帖子发布以来,语法似乎发生了变化。我正在尝试查找来自多个地址的电子邮件。这有效:

UIDs = conn.search([
                      ['FROM','foo@bar.com'],
                      [u'SINCE', datetime.date(2022, 3, 6)],
])

我希望得到这样的东西:

UIDs = conn.search([
                      'OR'[
                      ['FROM','foo@bar.com'],['FROM','eggs@spam.com']
                      ],
                      [u'SINCE', datetime.date(2022, 3, 6)],
])

但我似乎找不到 OR 的任何变体。我试过一个来自 Automate the boring stuff 的例子,他推荐这个:

imapObj.search(['OR FROM alice@example.com FROM bob@example.com']

这对我也不起作用。 我检查了 imapclient 页面,也没有找到答案: https://imapclient.readthedocs.io/en/master/index.html

如有任何指导,我们将不胜感激!

我不熟悉 imapclient 库,但我看到 API 允许发送原始字符串,所以如果它发送的不是你想要的,你可以覆盖它。

这应该为您完成,使其尽可能明确:

conn.search('OR (FROM "alice@example.com") (FROM "bob@example.com")')