Как мне получить «тело» письма в gmail, используя imaplib и модуль электронной почты? - PullRequest
0 голосов
/ 22 апреля 2020

Как мне получить «тело» письма в gmail с помощью imaplib и модуля электронной почты? Как вы можете видеть, я могу получить «От» и «Тема». Когда я пытаюсь напечатать сообщение, оно печатает необработанное сообщение. Я хочу его без html и всего остального.

См. код ниже

import imaplib
import email

# Gmail Credentials
username = 'yourGmail'
password = 'yourGmailPassword'

def read_email_from_gmail():
        mail = imaplib.IMAP4_SSL('imap.gmail.com')
        mail.login(username,password)
        mail.select('inbox')

        result, data = mail.search(None, 'ALL')
        mail_ids = data[0]

        id_list = mail_ids.split()   
        first_email_id = int(id_list[0])
        latest_email_id = int(id_list[-1])

        for i in range(latest_email_id,first_email_id, -1):
            # need str(i)
            result, data = mail.fetch(str(i), '(RFC822)' )

            for response_part in data:
                if isinstance(response_part, tuple):
                    # from_bytes, not from_string
                    msg = email.message_from_bytes(response_part[1])
                    email_from = msg['from']
                    email_subject = msg['subject']
                    print ('From : ' + email_from + '\n')
                    print ('Subject : ' + email_subject + '\n')
                    print ('Message : ' + str(msg) + '\n')
                    print ('-----------------------------------------------------')

# nothing to print here
read_email_from_gmail()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...