使用Gmail SMTP从PHP应用程序发送多封电子邮件

时间:2011-12-22 07:27:40

标签: email cakephp asynchronous smtp

我正在开发一个应用程序,当满足特定条件时,需要立即通知大约100个人。现在,当执行导致特定条件的操作的用户需要等到发送所有100封电子邮件时,使用Gmail SMTP需要很长时间。该应用程序构建在Cake PHP之上。

我的问题是,应用程序是否可以发送100封电子邮件而不会阻止其操作导致符合特定条件的用户。

为了使我的问题清楚,请想一想Groupon。当满足最少数量的买家时,它会向所有买家发送通知。因此,当第n个人进行购买时,Google会发送通知。一种方式是在购买完成后立即通知所有买家(这是我们在申请的上下文中所做的),可能其他方式是等待并发送在预定义的时间使用外部脚本/应用程序进行通知。

如果是前者,应用程序将在发送电子邮件完成时阻止。由于PHP不支持多线程,我想知道是否有一种简单的方法可以使这个操作异步,因此它不会影响主应用程序流。

1 个答案:

答案 0 :(得分:0)

您可以将通知放入队列中,并使用每隔5分钟检查并发送通知的cronjob。这样,您的用户在操作发生时不会被锁定。

我不是百分百肯定,但您也可以使用ajax调用,这样可以在发送请求后让用户自由继续。