在 Django 中发送 html 电子邮件 [重复]

Posted

技术标签:

【中文标题】在 Django 中发送 html 电子邮件 [重复]【英文标题】:Sending a html email in Django [duplicate] 【发布时间】:2015-06-10 14:04:27 【问题描述】:

自从 Django 1.7 发布以来,情况发生了一些变化。 我正在尝试使用“send_mail”发送 html 电子邮件。

我想在注册我的网站后向用户发送一封感谢邮件。

我正在使用

subject = 'Thank you from ******'
message = 'text version of HTML message'
from_email = my email address
to_list = users email address
html_message= really long set of html code

send_mail(subject,message,from_email,to_list,fail_silently=True,html_message=html_message) 

是否可以将 html 作为文件存储在服务器上,然后将其转换为字符串,以便将其输入到 'html_message' 中?

【问题讨论】:

【参考方案1】:

是的,你可以。在我自己的项目中,我使用以下代码来做同样的事情:

from django.template import loader

html_message = loader.render_to_string(
            'path/to/your/htm_file.html',
            
                'user_name': user.name,
                'subject':  'Thank you from' + dynymic_data,
                //...  
            
        )
send_mail(subject,message,from_email,to_list,fail_silently=True,html_message=html_message)

html 文件如下所示:

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <h1> user_name </h1>
        <h2> subject </h2>
    </body>
</html>

【讨论】:

干得好,工作正常

以上是关于在 Django 中发送 html 电子邮件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Django 中发送带有内联图像的 HTML 电子邮件

使用gmail和Django注册不会重置密码电子邮件

Django:通过 send_mass_mail() 发送 HTML 电子邮件

使用 Django 在 HTML 电子邮件模板中将图像作为内联附件发送

django 使用 django-registration 以 html 格式发送电子邮件

django html_message 和发送邮件中的消息有啥区别