如何使用 Python 中的 imaplib 在给定日期过滤掉来自多个发件人的电子邮件?

How to I filter out emails from multiple senders on a given date using imaplib in Python?

我现在正在使用 imaplib4 搜索功能,并为每个电子邮件 ID 多次调用它。我试着在互联网上到处寻找一种格式,让我在 OR 中指定电子邮件 ID 和日期。

到目前为止,这种格式对我有用,但我一次只能指定一封电子邮件,所以我会根据电子邮件 ID 进行调用。

(FROM "abc@email.com" (ON "25-Dec-2015")) 

如果我有 abc 和 def 都在那个日期给我发电子邮件,我想要一种在一次调用中指定它的方法。

如果您的服务器符合 RFC 标准并且具有完整的搜索实现,您可以将 OR 链接在一起。一个简单的搜索应该类似于

ON "25-DEC-2015" OR FROM "abc@email.com" FROM "def@email.com"

OR 采用两个搜索谓词。如果您需要链接它们,请在另一个中嵌入一个 OR:

ON "25-DEC-2015" OR FROM "abc@email.com" OR FROM "def@email.com" FROM "ghi@email.com"

这不是一个很好的语法,而且它可能无法在少数几个地址之外工作。可能无法在 'off-brand' IMAP 服务器上运行。