使用 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,
)
我想向 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,
)