如何在 python 的电子邮件正文中制作文本 "bold"?
How do I make text "bold" in email body in python?
如何在 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>
时它起作用了。我该怎么做才能使文本加粗?
根据 Django DOCS,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()
所有学分都归于此答案
要使电子邮件正文中的文本加粗,您需要发送 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>
如何在 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>
时它起作用了。我该怎么做才能使文本加粗?
根据 Django DOCS,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()
所有学分都归于此答案
要使电子邮件正文中的文本加粗,您需要发送 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>