Python IMAP Поиск С или на указанный адрес электронной почты

Я использую это с SMTP-сервером Gmail, и я хотел бы искать через IMAP электронные письма, отправленные или полученные с адреса.

вот что у меня есть:

mail = imaplib.IMAP4_SSL('imap.gmail.com')

mail.login('user', 'pass')
mail.list()
mail.select("[Gmail]/All Mail")

status, email_ids = mail.search(None, 'TO "tech163@fusionswift.com" OR FROM "tech163@fusionswift.com"')

последняя строка ошибки:imaplib.error: SEARCH command error: BAD ['Could not parse command']

не уверен, как я должен это делать или заявление в python imaplib. Если кто-то может быстро объяснить, что не так, или указать мне в правильном направлении, это было бы очень признательно.

1 ответов


ошибка, которую вы получаете, генерируется с сервера, потому что он не может проанализировать запрос правильно. Для создания допустимого запроса выполните команду RFC 3501, на стр. 49 подробно объясняется структура.

например, ваша строка поиска должна быть правильной:

'(OR (TO "tech163@fusionswift.com") (FROM "tech163@fusionswift.com"))'