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:

Body

Тело 2 (Btw, почему это происходит? Почему почта фиолетового цвета?):

Body #2

Как заставить HTML теги работать правильно и возможно ли добавить некоторые свойства стиля css? Спасибо!

Это возможно, но используйте шестнадцатеричные цвета, например, #ff0000, вместо названного цвета.

Текст может стать фиолетовым, как заметил Виллем, когда что-то повторяется, или для ответов. Если вы измените строку темы при тестировании, он не будет группировать их, и поэтому он не будет делать этого.

Продолжайте использовать встроенный CSS, но придерживайтесь HTML4 и CSS2 (более высокий уровень может быть достигнут, но только в качестве прогрессивного улучшения для некоторых почтовых клиентов).

Вернуться на верх