1

I am filtering a fairly large inbox using exchangelib. I only want to look at emails that have attachments.

I tried to add the attachments=True clause in the filter but it does not work. Below is my code. Could someone tell me what is the correct way of doing this?

account.inbox.filter(datetime_received__range=(start_time, end_time), sender=some_sender, attachments=True)
Erik Cederstrand
  • 9,643
  • 8
  • 39
  • 63

1 Answers1

0

You probably want to filter on the has_attachments filter instead. I don't think you can filter directly on an attachment. Also, you may want to only select the fields that you need, using .only():

account.inbox.filter(
    datetime_received__range=(start_time, end_time),
    sender=some_sender,
    has_attachments=True,
).only('sender', 'subject', 'attachments')
Erik Cederstrand
  • 9,643
  • 8
  • 39
  • 63