2012-05-11 300 views
1

我有一个数据库,其中包含用户和他们的数据我也有一个宁静的API设置接收和发送数据到数据库。发送来自django的电子邮件

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

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

这听起来像是一个很好的方法吗?任何人也可以给我任何提示或指导如何最好地做出这样的事情?

回答

2

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

您可以将收件人分组到BCC中并发送1封电子邮件,SendGrid的API将用替换值替换指定的文本块,而不是发送n *个人电子邮件。这很容易做到。同时查看https://github.com/sendgrid/sendgrid-python,让您的生活变得更轻松。

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/