如何仅解析电子邮件中的文本数据?
收件箱中有多种类型的电子邮件。
仅文字
空白电子邮件
带有html的文字
附带附件的HTML
带附件的文字
如何识别电子邮件类型,然后仅使用文本提取电子邮件。
我已经创建了一个循环播放电子邮件的功能,但我仍然只是为了提取少量电子邮件。 我在这一行收到以下错误:
email.message_from_string(response_part[1].decode('utf-8'))
' UTF-8'编解码器不能解码字节0xa0:无效的起始字节
循环播放电子邮件的功能
def read_email:
try:
mail = imaplib.IMAP4_SSL(SMTP_SERVER)
mail.login(FROM_EMAIL,FROM_PWD)
mail.select('inbox')
type, data = mail.search(None, 'ALL')
mail_ids = data[0]
id_list = mail_ids.split()
for i in reversed(id_list):
typ, data = mail.fetch(i, '(RFC822)')
for response_part in data:
if isinstance(response_part, tuple):
msg = email.message_from_string(response_part[1].decode('utf-8'))
email_subject = msg['subject']
email_from = msg['from']
email_to = msg['to']
emailid = msg['message-id']
except Exception as e:
print(str(e))