在Django中发送HTML电子邮件 [英] Sending a html email in Django

查看:117
本文介绍了在Django中发送HTML电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



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



我正在使用

  subject ='感谢您来自*** ***'
message ='HTML消息的文本版本'
from_email =我的电子邮件地址
to_list =用户电子邮件地址
html_message =真正的HTML代码集

send_mail(主题,消息,发件人电子邮件,收件人列表,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' :'谢谢您'+ 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>


Since Django 1.7 has come out things have changed a bit. Im trying to use 'send_mail' to send a HTML email.

I want to send a thank you email to users after signing up to my site.

Im using

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) 

Is it possible to store the html as a file on the server and then convert it into a string so that it can be fed into 'html_message'?

解决方案

Yes, you can. In my own project, I use the following code to do the same thing:

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)

And the html file looks like this:

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

这篇关于在Django中发送HTML电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆