自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'?
答案 0 :(得分:16)
是的,你可以。在我自己的项目中,我使用以下代码执行相同的操作:
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>