在mail_admins()中发送EmailMultiAlternatives
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在mail_admins()中发送EmailMultiAlternatives相关的知识,希望对你有一定的参考价值。
我有以下视图代码片段,我想发送电子邮件作为EmailMultiAlternatives
给管理员,问题是...它不呈现html标签。请帮助一些想法。
subject = "A New Feedback"
ctx = {
'name': name,
'email': email,
'message': message
}
message = ('ecoke/includes/email_feedback.html', ctx)
mail_admins(subject, message, fail_silently=True, html_message='text/html')
答案
mail_admins
是send_mail
的包装纸。
在send_mail
文档中,html_message
被描述为要附加到电子邮件的HTML消息,其中message
是纯文本字符串。
根据您的上述内容,您需要呈现(render_to_string
)消息并将其作为HTML附加。
subject = "A New Feedback"
ctx = {
'name': name,
'email': email,
'message': message
}
html_message = render_to_string(
'ecoke/includes/email_feedback.html',
context=ctx
)
text_message = 'Hi %s, <plain text goes here>' % name
mail_admins(subject, text_message, fail_silently=True, html_message=html_message)
会发生什么是你有两个版本的文本;一个用于HTML的纯文本。由于mail_admins
不呈现HTML,您需要手动将模板呈现为HTML。 HTML消息附加为替代,如图所示here。
以上是关于在mail_admins()中发送EmailMultiAlternatives的主要内容,如果未能解决你的问题,请参考以下文章
Django + Heroku + Mandrill mail_admins() 无法正常工作,无论是手动还是由 500 错误触发
在 TCP/IP Socket 发送中,发送数据仍然保留在 OS 内存中