Поиск писем по названию темы с Python 3 - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь получить в своем почтовом ящике электронные письма с определенным названием темы, используя следующий код:

import imapclient
import pprint
imapObj = imapclient.IMAPClient('imap-mail.outlook.com',ssl=True)
imapObj.login('personalemail@outlook.com','strongpassword')
imapObj.select_folder('INBOX',readonly=True)
imapObj.search('SUBJECT Broker Dealer Fails Report – NY')

Я получаю следующую ошибку:

---------------------------------------------------------------------------
UnicodeEncodeError                        Traceback (most recent call last)
<ipython-input-35-d172a6d61d89> in <module>
      1 imapObj.select_folder('INBOX',readonly=True)
----> 2 imapObj.search('SUBJECT Broker Dealer Fails Report – NY')

C:\ProgramData\Anaconda3\lib\site-packages\imapclient\imapclient.py in search(self, criteria, charset)
    954 
    955         """
--> 956         return self._search(criteria, charset)
    957 
    958     @require_capability('X-GM-EXT-1')

C:\ProgramData\Anaconda3\lib\site-packages\imapclient\imapclient.py in _search(self, criteria, charset)
    977         if charset:
    978             args.extend([b'CHARSET', to_bytes(charset)])
--> 979         args.extend(_normalise_search_criteria(criteria, charset))
    980 
    981         try:

C:\ProgramData\Anaconda3\lib\site-packages\imapclient\imapclient.py in _normalise_search_criteria(criteria, charset)
   1614 
   1615     if isinstance(criteria, (text_type, binary_type)):
-> 1616         return [to_bytes(criteria, charset)]
   1617 
   1618     out = []

C:\ProgramData\Anaconda3\lib\site-packages\imapclient\util.py in to_bytes(s, charset)
     28 def to_bytes(s, charset='ascii'):
     29     if isinstance(s, text_type):
---> 30         return s.encode(charset)
     31     return s
     32 

UnicodeEncodeError: 'ascii' codec can't encode character '\u2013' in position 35: ordinal not in range(128)

Я пробовал различные комбинации использования списков в круглых скобках ([]), используя «» и «» для имени темы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...