首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在python的电子邮件正文中使文本“粗体”?

如何在python的电子邮件正文中使文本“粗体”?
EN

Stack Overflow用户
提问于 2022-05-21 07:25:56
回答 2查看 400关注 0票数 0

如何在python中的电子邮件正文中使文本粗体化?我使用以下代码发送邮件:

代码语言:javascript
代码运行次数:0
运行
复制
from django.core.mail import send_mail

send_mail(subject, message, sender, [email], fail_silently=False)

我想用粗体表示一些重要的文字。使用下面的代码,我已经接收到整个字符串作为消息。

代码语言:javascript
代码运行次数:0
运行
复制
message = " Hi Customer,<br> Your OTP is <b>****</b>"

但当我尝试\n作为<br>时,它就起作用了。我该怎么做才能使文字粗体呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-21 07:51:05

根据Django DOCS的说法,html应该作为单独的文件添加,因此它可以与html一起读取,也可以不使用html (取决于接收者使用的是什么,不是每个人都希望在电子邮件中使用html)。您需要使用EmailMultiAlternativesattach_alternative方法:

代码语言:javascript
代码运行次数:0
运行
复制
from django.core.mail import EmailMultiAlternatives

subject, from_email, to = 'hello', 'from@example.com', 'to@example.com'
text_content = 'This is an important message.'
html_content = '<p>This is an <strong>important</strong> message.</p>'
msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
msg.attach_alternative(html_content, "text/html")
msg.send()
票数 1
EN

Stack Overflow用户

发布于 2022-05-21 07:52:16

所有的学分都属于这个答案,在django发送html电子邮件

要使文本在电子邮件正文中粗体,您需要发送一个html正文。

试试这个:

代码语言:javascript
代码运行次数:0
运行
复制
from django.template import loader

html_message = loader.render_to_string(
            'path/to/your/htm_file.html',
            {
                'user_name': user.name,
                'subject':  'Thank you from' + dynymic_data,
                //...  
            }
        )
send_mail(subject,message,from_email,to_list,fail_silently=True,html_message=html_message)

并且html文件应该类似于

代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <h1>{{ user_name }}</h1>
        <h2>{{ subject }}</h2>
    </body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72327524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档