Problema de análise de e-mail em Python

então estou tentando escrever um script em python que se conecte à minha conta do gmail e depois me diga, logo em uma GUI, qual é a mensagem. Eu vou fazer um pouco mais de coisas para o código mais tarde para torná-lo um programa um pouco mais útil, mas agora estou preso em apenas ser capaz de analisar as informações brutas que estou recebendo. Aqui está o meu código:

#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'])

Agora isso é basicamente para tentar ler o assunto do último e-mail que foi entregue na minha caixa de entrada. No entanto, recebo a seguinte mensagem de erro no console:

>>> 
Traceback (most recent call last):
  File "C:/Users/Dhruvin Desai/Documents/Python/script.py", line 21, in <module>
    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
>>> 

Eu não sei por que isso está chegando, mas desde que está me dizendo que o valor deemail_message precisa estar no formato de string, eu tentei isso:

email_message = email.message_from_string(str(raw_email))

Mas o resultado depois de executar o script inteiro com essa mudança sempre, não importa o que, resultou no console dizendoNone

Eu não sei o que fazer, por favor ajude.

questionAnswers(1)

yourAnswerToTheQuestion