Django - Html-теги в шаблоне электронной почты

Я использую сигналы Django для отправки писем, когда добавляется новая запись:

@receiver(post_save, sender=MeetingMember)
def send_invited_emails(sender, instance,  **kwargs):
    host = instance.meeting.host
    subject = "Mizban invition"
    # htmly = get_template('sendingemail.html')
    domain = Site.objects.get_current().domain
    context={'host':host,'meeting': instance,'domain':domain}
    html_content = render_to_string('sendingemail.html',context)
    send_mail(subject, html_content, settings.EMAIL_HOST_USER,[instance.email])

Этот код работает, но он также посылает html теги в электронную почту, как я могу решить эту проблему?

Вторым параметром message является сообщение, которое вы хотите отобразить в виде raw text. Вы можете передать содержимое HTML сообщения через параметр html_message=… функции send_mail(…) [Django-doc]:

# …
html_content = render_to_string('sendingemail.html',context)
send_mail(
    subject,
    html_content,
    settings.EMAIL_HOST_USER,[instance.email],
    html_message=html_content
)

Обычно для сообщения также создается текстовый вариант сообщения: без HTML, который может быть использован простыми почтовыми клиентами для отображения письма, например, на консольном терминале.

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