在 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")')
我一直在搜索,但自从我找到的帖子发布以来,语法似乎发生了变化。我正在尝试查找来自多个地址的电子邮件。这有效:
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")')