Извлекать текст сообщения электронной почты без содержания HTML в python poplib
Мне нужна помощь. Это электронное письмо, которое я хочу получить. Это просто текст.
Но когда я получаю его, html-контент также извлекается. Это пример:
Что мне нужно сделать, чтобы получить сообщение только внутри желтого поля?
Мой код:
import poplib,os
from email import parser
pop_conn = poplib.POP3_SSL('pop.gmail.com')
pop_conn.user('myemail@gmail.com')
pop_conn.pass_('mypassword')
#Get messages from server:
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
# Concat message pieces:
messages = ['\n'.join(map(bytes.decode, mssg[1])) for mssg in messages]
#Parse message intom an email object:
messages = [parser.Parser().parsestr(mssg) for mssg in messages]
for message in messages:
sub= message['subject']
fr=(message['from'])
for part in message.walk():
if part.get_content_type():
body = str(part.get_payload())
#print(body)
with open('file_name.txt','r+') as file:
file.write(sub+'\n')
file.write(fr+'\n')
file.write(body+ os.linesep)
lines=file.readlines()
lines = [line.rstrip('\n') for line in open('file_name.txt')]
file.close()
pop_conn.quit()
Я пытался использовать part.get_payload(decode=True)
но HTML-контент по-прежнему показывает также текстовое сообщение печатается в виде одной длинной прямой линии.