2012-05-11 513 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/