从django发送电子邮件

时间:2012-05-11 19:00:59

标签: django

我有一个包含订阅者和数据的数据库我还有一个安静的api设置来接收和发送数据到数据库。

我想在Django中制作一个前端,使用django模板发送和创建电子邮件,以自定义我发送的电子邮件。

所以我想向django提供一个查询,它将数据发送给db API,返回电子邮件列表和必要的信息。然后,Django将使用数据库返回的JSON数据构建个性化电子邮件,作为模板的上下文,然后将电子邮件和电子邮件地址传递给使用Sendgrid的API将电子邮件发送给我的订阅者的函数。

这听起来像这样做的好方法吗?也有人可以给我任何关于如何最好地制作这样的东西的提示或指示吗?

2 个答案:

答案 0 :(得分:2)

SendGrid的API可以从您通过Django的Python API提供的关联数组中替换值。

您可以将收件人分组到BCC并发送1封电子邮件,而不是发送n *个人电子邮件,然后SendGrid的API将替换指定的文本片段和替换值。这很简单。还可以查看https://github.com/sendgrid/sendgrid-python,让您的生活更轻松。

答案 1 :(得分:1)

我过去使用自定义管理命令做过这种事情。它本质上是一个Python脚本,可以轻松访问您的Django数据,并且可以让您基本上完成Python所能提供的任何功能。然后,您可以使用cron轻松安排作业,将数据作为JSON传播,并将其作为独立脚本传递给您,或者您想要的任何其他内容。

https://docs.djangoproject.com/en/1.3/howto/custom-management-commands/

Django有一个内置的电子邮件系统也可以很好地工作,但听起来你已经为SMTP或任何使用SendGrid设置了。

https://docs.djangoproject.com/en/1.3/topics/email/