首页 > 解决方案 > python3:文本文件到电子邮件正文

问题描述

我有一个 output.txt,我想将其内容作为电子邮件正文发送。

1.我想从内容中删除特定的行(而不是从文件本身中删除)

2.我希望能够将其转换为 html 并设计一些特定的线条大小甚至颜色。

我有一个发送邮件的工作脚本。有一些问题:

使用 file.read() 时,我无法删除特定行。尝试 readlines() 时,类型为列表,并且电子邮件正文变得混乱。(加入不适用于字节类型的列表)

import smtplib
import email.message


def send_email(subject, msg):
    try:
        server = smtplib.SMTP('smtp.gmail.com', 587)
        server.ehlo()
        server.starttls()
        server.ehlo()
        ID = 'XXXX'
        PASSWORD = 'XXXXXXX'
        email_reciever = 'XXXXXX'
        server.login(ID, PASSWORD)
        message = 'Subject:{} \n\n {}'.format(subject, msg)
        server.sendmail(ID, email_reciever, message)

        print('Succes')
    except Exception as e:
        # Print any error messages to stdout
        print(e)
    finally:
        server.quit()


filename = r".\Reports\Report.txt"
with open(filename, "rb") as filename:
    text = filename.read()
msg = email.message.Message()
msg.add_header('Content-Type', 'text/plain')
msg.set_payload(text)

subject = "Report"

send_email(subject, msg)

标签: pythonemailtext

解决方案


推荐阅读