带有编码的已设计(html)文本的Python电子邮件

时间:2019-03-30 18:14:58

标签: python html email encode

我有一个有效的发送电子邮件脚本,该脚本需要txt文件并将其编码后发送。

  • 我希望能够在电子邮件正文中设计(html)此编码的txt。
  • 我知道一般如何设计电子邮件正文中的文本,但是我无法设计html中的编码txt。

我希望将两个脚本结合起来,并能够将编码后的文本(第一个脚本输出)设计为第二个脚本的html设计

第一个脚本发送电子邮件(有效,但未设计的正文):

import smtplib
from email.message import EmailMessage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

# mailing cofig:


ID = 'XX
PASSWORD = XX
email_reciever = XX
filename = r".\Reports\Report.txt"


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

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


msg = MIMEMultipart('alternative')
msg['Subject'] = 'Your BeeHero Report'
msg['From'] = ID
msg['To'] = email_reciever

with open(filename, "r") as filename:
    text = ''.join(filename.readlines()[1:])

msg.set_payload(text.encode())

subject = "BeeHero Report"

send_email(subject, msg)

输出: https://imgur.com/a/g6m0WKt

第二个脚本(设计主体,但未编码为第一个输出)

# Sending email script Amit
import smtplib
from email.message import EmailMessage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

# mailing cofig:


ID = XX
PASSWORD = XX
email_reciever = XX
filename = r".\Reports\Report.txt"


def send_email(msg):
    try:
        server = smtplib.SMTP('smtp.gmail.com', 587)
        server.ehlo()
        server.starttls()
        server.ehlo()
        server.login(ID, PASSWORD)
        server.sendmail(ID, email_reciever, msg.as_string())

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


msg = MIMEMultipart('alternative')
msg['Subject'] = 'Your BeeHero Report'
msg['From'] = ID
msg['To'] = email_reciever

with open(filename, "r") as filename:
    text = ''.join(filename.readlines()[1:])



html = (f"""
 <!DOCTYPE html>
 <html>
     <body>
         <h1 style="color:SlateGray;">{text}</h1>
     </body>
 </html>
 """)


part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, 'html')


msg.attach(part1)
msg.attach(part2)



send_email(msg)

输出:

https://imgur.com/a/5wqUoSa

0 个答案:

没有答案