使用django发送邮件黑猩猩设计的电子邮件

时间:2015-09-15 01:12:28

标签: django email mailchimp

我想向django网站的订阅者发送邮件。因此,只要有人注册,就应该发送邮件。我可以通过django拥有的send_mail函数来做到这一点,但我想发送一个设计好的邮件(比如邮件黑猩猩模板)。关于如何做到这一点的任何想法?我阅读了api文档并了解了如何发送邮件,但我无法理解如何集成自己的模板和内容。

任何建议都会有所帮助。谢谢!

1 个答案:

答案 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,
)