关于发送电子邮件通知的性能改进建议?

时间:2010-04-23 23:59:17

标签: php email cron kohana

我的应用程序需要大约几秒钟才能执行代码,以便立即在测试服务器上发送电子邮件,而其他任何内容都没有运行。不确定这是否是典型的/预期的。我也使用PHP框架Kohana的电子邮件助手而不是php的邮件,如果这很重要的话。安排一个cron工作每5分钟左右发送一次电子邮件总是更好吗?或者我应该能够立即发送电子邮件,而我只是不做正确的事情?

脚本的作用是在数据库中插入一行,并通知相关组该行已创建。这些组通常是< 20个人,所以我每次为小组的每个成员做一个循环呼叫Kohana的电子邮件助手。

4 个答案:

答案 0 :(得分:2)

不确定Kohana助手的实现,但这是php doc所说的:

  

注意:值得注意的是   mail()函数不适合   循环中的大量电子邮件。   此功能可打开和关闭SMTP   每个电子邮件的套接字,不是   效率很高。发送   大量的电子邮件,请参阅»   PEAR::Mail和»PEAR::Mail_Queue   包。

答案 1 :(得分:2)

http://swiftmailer.org/是一个优秀可靠的邮件程序。也许另一种方法是正确的答案。

答案 2 :(得分:0)

有些东西是不对的,对于不到20个用户的群体,它应该是快速的。 > 100会加快处理时间。

查看您的服务器设置。或者,使用IMAP功能......

答案 3 :(得分:0)

对于最快的解决方案,请查看gearman您基本上发送请求以将电子邮件发送到gearman队列,并且当Gearman在后台完成脚本的电子邮件部分时,其余脚本可以运行