Во-первых, ваша проблема заключается в том, что в вашей строке в кавычках есть двойные кавычки, что является синтаксической ошибкой:
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "Report #160496147 : "AU report QTD date wise MediaOps" from Dhruv Sapra"')
Попробуйте экранировать внутренние кавычки:
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "Report #160496147 : \"AU report QTD date wise MediaOps\" from Dhruv Sapra"')
Также обратите внимание, чтокак на самом деле работает SEARCH
, зависит от конкретной реализации.Поиск слова или двух обычно работает хорошо, но поиск литеральных строк часто не работает, в зависимости от того, как сервер индексирует его, если вообще.Например, сервер gmail индексирует только слова, а поиск подстрок или знаков препинания обычно не работает.Если ваш сервер совместим, просто поиск номера отчета с или без # может дать или не дать вам лучшие результаты.
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "#160496147"')
typ, msg_ids = self.imap.uid('search', None, 'SUBJECT "160496147"')