Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php发送批量电子邮件时出现的问题_Php_Apache_Email_Cpu - Fatal编程技术网

使用php发送批量电子邮件时出现的问题

使用php发送批量电子邮件时出现的问题,php,apache,email,cpu,Php,Apache,Email,Cpu,我正在创建一个脚本,用于发送具有不同主题和动态消息的批量电子邮件。我正在使用for循环和php邮件函数来发送邮件。当我运行脚本时,发送所有电子邮件需要很长时间,而且CPU使用率很高。您是否有任何建议或脚本可以快速运行,一次发送500封电子邮件而无需高CPU负载 感谢来自PHP文档的 注意:值得注意的是,mail()函数不适用于 循环中有大量电子邮件。此函数用于打开和关闭 每封电子邮件的SMTP套接字,这不是很有效。对于 发送大量电子邮件,请参阅»PEAR::Mail和» PEAR::邮件队列包

我正在创建一个脚本,用于发送具有不同主题和动态消息的批量电子邮件。我正在使用for循环和php邮件函数来发送邮件。当我运行脚本时,发送所有电子邮件需要很长时间,而且CPU使用率很高。您是否有任何建议或脚本可以快速运行,一次发送500封电子邮件而无需高CPU负载

感谢来自PHP文档的

注意:值得注意的是,mail()函数不适用于 循环中有大量电子邮件。此函数用于打开和关闭 每封电子邮件的SMTP套接字,这不是很有效。对于 发送大量电子邮件,请参阅»PEAR::Mail和» PEAR::邮件队列包

我建议使用


你也应该考虑在一个单独的线程中处理脚本。

如果你不使用<代码>队列< /代码>系统,你使用的< <代码>邮件> <代码>不能缩放你的解决方案。处理耗时的任务(特别是发送电子邮件)应该是后台任务,由
队列处理

如果你的应用程序处于开发的早期阶段,最好使用内置的框架。我极力推荐

如果不是更好的话,请阅读以下文章,其中展示了如何将队列系统与基本php应用程序相关联


如下所示,这将是比内置的
mail()
函数更好的选择。所以我向他致敬,希望他能指出这一点。如果你打算使用它,它有一个内置的强大系统。

你试过吗?是的,我使用过phpmailer、php mail和wp_mail函数,所有这些都会消耗很高的CPU负载。在一定的规模下,你总是需要将电子邮件发送外包给一个单独的服务。这可能是一个API,另一个处理数据库或队列系统作业的PHP脚本,或者其他任何东西。从根本上说,发送一封电子邮件需要时间,而发送500封则需要500倍的时间。