【发布时间】:2016-02-20 14:28:00
【问题描述】:
从 Django 1.7 开始,可以使用新参数 send_email():html_message。不幸的是,没有关于如何使用它的综合指南(对新手友好)(或者至少我找不到它)。
我需要使已发送的电子邮件更美观,因此,我试图弄清楚如何将我的消息包含到 html/css 模板中。 我已经阅读了很多关于这个主题的帖子,但其中大多数都引用了以前版本的 Django。 This 帖子适用于 Django 1.7,但答案显示了一个非常基本的 html 文件的用法。
my_html_message.html
<html lang="en">
<head>
<link href="path/to/application.css" rel="stylesheet">
</head>
<body>
<div class="email_header">
[..]
<a href="http://mysite.it"><img src="images/logo.png"/></a>
</div>
<div class="email_body">
[..]
{{my_message}}
</div>
</body>
my_message.txt
Dear {{username}},
you won {{money}}.
my_function.py
def my_send_email(request):
subject = 'Test html email'
from = 'my@email.com'
to = 'yours@email.com'
my_context = Context({'username': user.username,
'money': user.money})
html_message = render_to_string('mail/my_html_message.html', c)
message = render_to_string('mail/my_message.txt', c)
send_mail(subject,
message,
from,
[to],
html_message=html_message)
如何将文件my_message.txt 和my_context 传递给my_html_message.html 并发送带有自定义样式的电子邮件?
【问题讨论】:
标签: python html css django email