如何在python中的电子邮件正文中使文本粗体化?我使用以下代码发送邮件:
from django.core.mail import send_mail
send_mail(subject, message, sender, [email], fail_silently=False)
我想用粗体表示一些重要的文字。使用下面的代码,我已经接收到整个字符串作为消息。
message = " Hi Customer,<br> Your OTP is <b>****</b>"
但当我尝试\n
作为<br>
时,它就起作用了。我该怎么做才能使文字粗体呢?
发布于 2022-05-20 23:51:05
根据Django DOCS的说法,html应该作为单独的文件添加,因此它可以与html一起读取,也可以不使用html (取决于接收者使用的是什么,不是每个人都希望在电子邮件中使用html)。您需要使用EmailMultiAlternatives
和attach_alternative
方法:
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()
发布于 2022-05-20 23:52:16
所有的学分都属于这个答案,在django发送html电子邮件
要使文本在电子邮件正文中粗体,您需要发送一个html正文。
试试这个:
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文件应该类似于
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>{{ user_name }}</h1>
<h2>{{ subject }}</h2>
</body>
</html>
https://stackoverflow.com/questions/72327524
复制相似问题