Электронная почта HTML не отображается в Mailcatcher, а текст -
Где я могу найти журналы, которые могут помочь мне найти причину этого? У меня есть приложение Django, настроенное для доставки почты в непроизводственных средах на сервер, на котором работает Mailcatcher. Когда я отправляю только текстовое электронное письмо, оно появляется в Mailcatcher, когда я добавляю альтернативный контент HTML, они этого не делают.
я использую EmailMultiAlternatives
и чтобы проверить это, я комментирую свою линию с attach_alternative()
чтобы отправить только текст, он работает нормально. Нет ошибок от runserver, и email.send()
возвращается 1.
Сбой:
@staticmethod
def send_payment_confirmation(client, free_trial_days, recur_id):
context = {
'recur_id': recur_id,
'client': client,
'free_trial_days': free_trial_days
}
html_body = render_to_string('email/html/payment_confirmation.html', context)
text_body = render_to_string('email/text/payment_confirmation.txt', context)
email = EmailMultiAlternatives(subject=u"Thank You For Your Payment,{}".format(client.name),
body=text_body, to=[client.get_contact_email()], bcc=['support@example.com'])
email.attach_alternative(html_body, "text/html")
email.send()
Работает:
@staticmethod
def send_payment_confirmation(client, free_trial_days, recur_id):
context = {
'recur_id': recur_id,
'client': client,
'free_trial_days': free_trial_days
}
html_body = render_to_string('email/html/payment_confirmation.html', context)
text_body = render_to_string('email/text/payment_confirmation.txt', context)
email = EmailMultiAlternatives(subject=u"Thank You For Your Payment,{}".format(client.name),
body=text_body, to=[client.get_contact_email()], bcc=['support@example.com'])
# email.attach_alternative(html_body, "text/html")
email.send()
1 ответ
Понял это, это известная ошибка с MailCatcher. Версии после 0.5.12
сбой при отправке utf8
HTML письмо. Текущая версия 0.6.4
- 2/4/16 (и до сих пор проблема).
Понижение до 0.5.12
решает проблему.