Как сделать текст "жирным" в теле письма в 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 email в django
Чтобы сделать текст жирным в теле письма, нужно отправить 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>