基于PHP的Web应用程序和群发邮件

我开发了一个网络应用程序,全国各地的学生都可以来这里报名参加某些学术目的.预计明年用户将达到10万左右.

我需要定期向所有这些人发送邮件.该网络应用是使用Codeigniter开发的. php脚本可以运行3000秒.但是该应用仍然无法将邮件发送给超过100个用户.

我运行的计算机位于云中,并且具有256MB内存.我使用了free -m命令来检查内存使用情况,但这似乎不是问题.一切正常,可以处理10-20封邮件.

最好的解决方案是什么?有什么办法可以将这项工作转移到其他应用程序/程序/ shell脚本中?

解决方法:

将其从Web服务器线程中移出并独立运行是非常合适的.通常,对于类似这样的事情,我在数据库中有一些表,这些表是从网站上写入相应信息的,因此,当我准备发送电子邮件时,后端的某些东西可以将电子邮件组合起来并发送出去.如果要发送100,000封电子邮件,您将需要多线程的邮件.

在这种情况下,为此最好使用许多现成的工具之一,而不是重新发明*.我们在这里使用Campaign Enterprise的旧版本,并且可以向它抛出查询,我可以使用这些查询通过ODBC直接从Web数据库中提取数据.考虑到您身处云中,这可能对您不太有效.

编辑:您还可以编写一个PHP脚本来执行此操作,然后从外壳程序中调用PHP.也许您可以通过这种方式解决超时限制? (这是假设您指的是某些服务级别的超时.如果您正在谈论常规的PHP超时,则可以使用set_time_limit()来解决.)

上一篇:mysql-将许多行与SQL查询中的许多行匹配,并找到百分位数匹配?


下一篇:php-从Codeigniter中具有限制的结果中选择SUM