python - 在 Django 中发送 html 电子邮件

标签 python html django email

<分区>

自从 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”中?

最佳答案

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

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>

关于python - 在 Django 中发送 html 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29466796/

相关文章:

html - 有没有办法只使用 css 或 html 使文本填充按钮大小?

javascript - Django 欧芹 : uncaught error

python - call_command 参数是必需的

python ffvideo, 'libavutil/rational.h' 文件未找到

python - xarray - 无法序列化坐标

python - 对分组对象进行排序

python - 干净的完成方式——如果 x 在 [(0, 1, 2), (2, 0, 1), (1, 2, 0)] :?

javascript - 如何在不创建空跨度的情况下删除父元素并保留其子元素

python - 大多数库什么时候会兼容 Python 3?

javascript - 使用 knitr 在 R 中为 html 创建条件格式化表