使用crons发送电子邮件的最佳实现

时间:2017-08-24 17:14:08

标签: email templates cron queue

我有一个已经使用cron发送电子邮件的系统。但我觉得这不是一个很好的实现,我想改进它。这就是我现在正在做的事情:

在数据库中保存所需的1行文本以及接收者的详细信息和几​​个CTA,并且在cron中我将该文本添加到主体中,添加标题&页脚并将其发送给用户。

我计划像这样改进:

  • 使用刀片模板。
  • 为不同的动作创建不同的模板(例如注册,忘记密码等),现在没有不同的模板。
  • 触发操作后,请准备好已发送给用户的html电子邮件模板,并将其保存在数据库中。
  • 使用cron,选择已保存的html模板并将其发送给用户。

我不确定这是否是正确的方法。将整个html保存在数据库中可以吗?或者我应该将数据库中的变量保存为json,然后使用这些变量在cron中创建准备发送模板然后发送它? 或者我应该使用AWS提供的一些排队方法将其与SES结合并向其提交电子邮件,而不将其存储在数据库中。

请建议最佳实施方案。感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用AWS SES,Lambda& amp; Dynamodb

  • 配置SES以使用您的域发送电子邮件
  • 当您需要触发电子邮件时,请使用DynamoDB中的表格以JSON格式存储电子邮件数据。
  • 配置Dynamodb流以在创建新邮件记录时触发Lambda函数,该邮件记录将使用SES SDK发送邮件。
  • 要在Lambda函数中构建Email主体,您可以使用您选择的模板机制(例如NodeJS,您可以使用Underscore模板)并在发送电子邮件之前绑定JSON数据。

在这种方法中,邮件将以异步方式发送,并确保您已扩展SES电子邮件配额。