Электронная почта Python с зашифрованным (html) текстом - PullRequest
1 голос
/ 30 марта 2019

У меня есть работающий сценарий отправки электронной почты, который принимает текстовый файл и отправляет его в кодированном виде.

  • Я хочу иметь возможность создать (html) этот кодированный текст в теле сообщения электронной почты.
  • я знаю, как обычно проектировать текст в теле письма, но я не могу спроектировать закодированный текст в html.

Я хочу объединить два сценария и уметь создавать закодированный текст (первый сценарийвыходные данные) в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...