在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_adminssend_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 错误触发

如何在Oracle中发送Email

在 TCP/IP Socket 发送中,发送数据仍然保留在 OS 内存中

在方法中发送 userID 或发送 Token

在 Android 中同时使用 Datagramsocket 发送和接收 - 只是发送?

在套接字中发送多个发送/接收