为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 HTML 格式化包含表单数据的电子邮件?

如何使用 HTML 格式化包含表单数据的电子邮件?

蓝山帝景 2023-10-26 14:36:46
我正在尝试使用 HTML 格式化电子邮件,每当有人填写表单以及表单数据(例如 {{ name }})时,该电子邮件就会发送给我。目前,我设法使用“f”字符串通过电子邮件传递表单数据。我不知道如何将字段标题(例如客户名称:、电子邮件:)设为粗体,以便它们不会与表单数据混合。        MY_EMAIL = os.environ.get('MY_EMAIL')        MY_EMAIL_PASSWORD = os.environ.get('MY_EMAIL_PASSWORD')                message = EmailMessage()        message['Subject'] = "New form submitted"        message['From'] = MY_EMAIL        message['To'] = "an_email@hotmail.com"        message.set_content(f" Client name: {client_name}\n\n Email: {client_email}")        with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:            smtp.login(MY_EMAIL, MY_EMAIL_PASSWORD)            smtp.send_message(message)电子邮件的当前示例:客户姓名: 杰克电子邮件:blackjack@hotmail.com期望的结果(“客户名称”,“电子邮件以粗体显示”):客户姓名:杰克电子邮件: blackjack@hotmail.com
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

答案在 email.mime.text 模块中。该模块提供了一个函数,允许在“f”字符串中呈现 HTML 代码。必须添加这一点:


            message = f"<b>Client name:</b> {client_name}<br></br> <b>Email:</b> {client_email}"

            message = MIMEText(message, "html")

这是完整的代码:


from email.mime.text import MIMEText


        MY_EMAIL = os.environ.get('MY_EMAIL')

        MY_EMAIL_PASSWORD = os.environ.get('MY_EMAIL_PASSWORD')

        

        message = EmailMessage()

        message = f"<b>Client name:</b> {client_name}<br></br> <b>Email:</b> {client_email}"

        message = MIMEText(message, "html")

        message['Subject'] = "New form submitted"

        message['From'] = MY_EMAIL

        message['To'] = "an_email@hotmail.com"

        

        with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:

            smtp.login(MY_EMAIL, MY_EMAIL_PASSWORD)

            smtp.send_message(msg_for_me)


查看完整回答
反对 回复 2023-10-26
  • 1 回答
  • 0 关注
  • 253 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信