首页 文章

通过Amazon Simple Mail Service向用户发送批量邮件

提问于
浏览
1

在我的一个Web应用程序中,我必须向我的用户发送电子邮件(所有邮件都是跨国的,用户接受隐私政策和条款和条件) .

目前亚马逊让我每24小时发送10000封电子邮件,我们可以轻松增加配额 . 我的问题是我们每秒只能通过亚马逊发送5封电子邮件 . 所以我对PHP脚本(循环)有点困惑来处理相同的问题 . 一个普通的PHP循环可以处理这个批量电子邮件?

while循环可用时有延迟吗?这样我们就可以每秒限制2-3封电子邮件 . 由于脚本在cron作业中工作

提前致谢

2 回答

  • 1

    这将需要一些代码,但不多,但如果您将生成电子邮件的任务与实际发送电子邮件的任务分开,您可以使用amazon SQS和cron作业来进行邮件发送 .

    我所做的是我有一个名为'EmailQueue'的SQS队列,其中包含消息中“TO”,“Subject”和电子邮件的正文 . 生成要发送的电子邮件的作业只需将所有这些消息放入队列中,就像它能够/想要的那样快 .

    然后,我有一个计划的任务,每分钟运行一次,进入队列并下载一定数量的电子邮件,这取决于适当的节流 . cron作业根据存储在SQS消息中的信息构建和发送电子邮件消息,并在发送消息时删除消息 - 它不需要访问任何其他内容,因为发送电子邮件所需的所有内容都封装在SQS中信息 .

    您可以通过cron作业的时间来控制油门 . 在我的情况下,我的工作在退出之前每次运行最多只能处理5封电子邮件 .

    使用队列和cron作业还可以消除UI用户可能存在的任何延迟(假设有一个),因为将消息加载到队列中的速度很快,并且SMTP电子邮件有时很慢,因此可能会导致明显滞后最终用户 .

  • 3

    亚马逊是以低成本发送批量电子邮件的最佳选择,但它并没有为他们的服务提供最好的gui . 您可以使用bullmailer等外部服务从amazon ses发送电子邮件 .

    它通过详细报告为您的广告系列提供列表管理,广告系列,电子邮件自动化

相关问题