如何过滤收件箱并只下载有附件的电子邮件

How do I filter inbox and only download emails that have attachments

我正在使用 exchangelib 过滤一个相当大的收件箱。我只想查看带有附件的电子邮件。

我尝试在过滤器中添加 attachments=True 子句,但它不起作用。下面是我的代码。谁能告诉我这样做的正确方法是什么?

account.inbox.filter(datetime_received__range=(start_time, end_time), sender=some_sender, attachments=True)

您可能想在 has_attachments 过滤器上进行过滤。我认为您不能直接对附件进行过滤。此外,您可能只想 select 您需要的字段,使用 .only():

account.inbox.filter(
    datetime_received__range=(start_time, end_time),
    sender=some_sender,
    has_attachments=True,
).only('sender', 'subject', 'attachments')