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

gcuhipw9  于 2023-02-28  发布在  PHP
关注(0)|答案(2)|浏览(220)

在我的一个网络应用程序中,我必须发送电子邮件给我的用户(所有邮件都是跨国的,用户接受隐私政策和条款)。
目前亚马逊让我每24小时发送10000封邮件,我们可以很容易地增加配额。我的问题是,我们只能通过亚马逊每秒发送5封邮件。所以我有点困惑与PHP脚本(循环)来处理相同的。一个正常的PHP循环可以处理这种批量邮件?
while循环是否存在延迟?这样我们可以将其限制为每秒2-3封电子邮件。由于脚本在cron作业中工作
先谢了

utugiqy6

utugiqy61#

这将需要一点代码,但不多,但如果您将生成电子邮件的任务与实际发送电子邮件的任务分开,您可以使用amazon SQS和cron作业来发送电子邮件。
我所做的是我有一个名为'EmailQueue'的SQS队列,它包含邮件中的“TO”,“Subject”和邮件正文。生成要发送的邮件的作业只是将所有这些邮件放入一个队列中,尽可能快。
然后,我有一个计划任务,它每分钟运行一次,进入队列并下载一定数量的电子邮件,根据适当的节流阀发送出去。cron作业根据存储在SQS消息中的信息构建和发送电子邮件消息,并在发送时删除消息-它不需要访问任何其他内容,因为发送电子邮件所需的一切都封装在SQS消息中。
您可以通过cron作业的时间来控制节流阀。在我的情况下,我的作业在退出之前每次运行最多只会处理5封电子邮件。
使用队列和cron作业还可以消除UI用户可能存在的任何延迟(假设存在),因为将消息加载到队列中的速度很快,而SMTP电子邮件发送有时很慢,这可能会给最终用户带来明显的延迟。

sbdsn5lh

sbdsn5lh2#

亚马逊ses是低成本发送批量邮件的最佳选择,但它没有为他们的服务提供最好的图形用户界面.你可以使用bullmailer这样的外部服务从亚马逊ses发送邮件.
它提供了列表管理,活动,电子邮件自动化manay更多的详细报告,为您的活动

相关问题