#django
Вопрос:
Я использую сигналы 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-теги по электронной почте. Как я могу решить эту проблему?
Комментарии:
1. Также покажу вам html-код. Но убедитесь, что ваш окруженный
html
кодом{% autoescape off %}
и{% endautoescape %}
Ответ №1:
Второй параметр message
-это сообщение, которое вы хотите отобразить в виде необработанного текста. Вы можете передать содержимое 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, который может использоваться простыми почтовыми клиентами, например, для отображения электронной почты на консольном терминале.