Django как отправлять тела писем с html-дизайном
В моем Django проекте я пытаюсь отправлять красивые письма с красочным телом и так далее. Моя функция построения тела письма выглядит следующим образом:
def construct_mail_body():
user = User.objects.get(id=1)
context = {
'username': user.username,
}
template = render_to_string('mail/mail_body.html', context=context)
message = strip_tags(template)
return message
mail_body.html:
{% load static %}
<h3>Hello <span style="color: red;">{{ username }}</span>,</h3>
<h3>You've successfully completed our Tutorial!></h3>
<h3>Congratulations!</h3>
Но это не работает так, как ожидалось. Мои почтовые тела выглядят следующим образом:
Тело 1:
Тело 2 (Btw, почему это происходит? Почему почта фиолетового цвета?):
Как заставить HTML теги работать правильно и возможно ли добавить некоторые свойства стиля css? Спасибо!
Это возможно, но используйте шестнадцатеричные цвета, например, #ff0000, вместо названного цвета.
Текст может стать фиолетовым, как заметил Виллем, когда что-то повторяется, или для ответов. Если вы измените строку темы при тестировании, он не будет группировать их, и поэтому он не будет делать этого.
Продолжайте использовать встроенный CSS, но придерживайтесь HTML4 и CSS2 (более высокий уровень может быть достигнут, но только в качестве прогрессивного улучшения для некоторых почтовых клиентов).