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

Sending mail chimp designed emails using django

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

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

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