Проблема разбора электронной почты Python
так что я'Я пытаюсь написать скрипт на python, который входит в мою учетную запись gmail, а затем говорит мне, вскоре в графическом интерфейсе, что это за сообщение. Позже я сделаю немного больше кода, чтобы сделать его немного более полезным, но сейчас яЯ застрял в том, чтобы просто разобрать необработанную информацию, которую я получаю. Вот мой код:
#Read Email Script
import imaplib
import email
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('[email protected]', 'passwordgoeshere')
mail.list()
mail.select("INBOX") # connect to inbox.
result, data = mail.search(None, "ALL")
ids = data[0]
id_list = ids.split()
latest_email_id = id_list[-1]
result, data = mail.fetch(latest_email_id, '(RFC822)')
raw_email = data[0][1]
email_message = email.message_from_string(raw_email)
print (email_message['Subject'])
Теперь это в основном должно попытаться прочитать тему последней электронной почты, которая была доставлена на мой почтовый ящик. Однако я получаю следующее сообщение об ошибке в консоли:
>>>
Traceback (most recent call last):
File "C:/Users/Dhruvin Desai/Documents/Python/script.py", line 21, in
email_message = email.message_from_string(raw_email)
File "C:\Python33\lib\email\__init__.py", line 40, in message_from_string
return Parser(*args, **kws).parsestr(s)
File "C:\Python33\lib\email\parser.py", line 69, in parsestr
return self.parse(StringIO(text), headersonly=headersonly)
TypeError: initial_value must be str or None, not bytes
>>>
Я нене знаю, почему это происходит, но так как он говорит мне, что значениеemail_message
должен быть в строковом формате, я пробовал это:
email_message = email.message_from_string(str(raw_email))
Но результат после запуска всего сценария с этим изменением всегда, несмотря ни на что, приводил к тому, что консоль говорилаNone
Я неНе знаю, что делать, пожалуйста, помогите.