我想向django网站的订阅者发送邮件。因此,只要有人注册,就应该发送邮件。我可以通过django拥有的send_mail函数来做到这一点,但我想发送一个设计好的邮件(比如邮件黑猩猩模板)。关于如何做到这一点的任何想法?我阅读了api文档并了解了如何发送邮件,但我无法理解如何集成自己的模板和内容。
任何建议都会有所帮助。谢谢!
答案 0 :(得分:2)
MailChimp模板只是HTML。如果您使用的是Django 1.7+,send_email
支持html_message
(ref)。
您可以使用render_to_string
(see here)功能输出相应的HTML,然后将其输入send_email
。结合这两个,您可以先设置HTML模板:
html_template = render_to_string('templates/my_email.html', {'foo': 'bar'})
然后创建my_email.html
并将MailChimp上生成的HTML放入该文件中。
现在可以使用新的HTML模板调用send_mail:
send_mail(
[...]
html_message=html_template,
)
编辑:完整示例:
from django.core.mail import send_mail
from django.template.loader import render_to_string
html_template = render_to_string('templates/my_email.html', {'foo': 'bar'})
send_mail(
'Title',
'Plaintext Version Goes Here',
'sender@sender.com',
['receiver@receiver.com'],
html_message=html_template,
)