Php 群发电子邮件脚本内存不足

Php 群发电子邮件脚本内存不足,php,email,Php,Email,我用PHP编写了一个简单的脚本,它获取我的客户的电子邮件地址并向他们发送一封HTML电子邮件。我已经正确设置了标题,并使用了base64编码。它使用有效的SMTP帐户发送电子邮件。但问题是它一直都在消耗内存,而且我越是增加“内存限制”,它就需要的内存就越多,而且永远不会运行!而且也没有发送电子邮件。它一个接一个地向每个客户发送电子邮件 请告知。对此,我可以使用哪种策略?我建议您将电子邮件添加到数据库表或csv(推送时) 然后编写一个cron作业/计划任务,逐步发送这些电子邮件。这样,负载平衡,服

我用PHP编写了一个简单的脚本,它获取我的客户的电子邮件地址并向他们发送一封HTML电子邮件。我已经正确设置了标题,并使用了base64编码。它使用有效的SMTP帐户发送电子邮件。但问题是它一直都在消耗内存,而且我越是增加“内存限制”,它就需要的内存就越多,而且永远不会运行!而且也没有发送电子邮件。它一个接一个地向每个客户发送电子邮件


请告知。对此,我可以使用哪种策略?

我建议您将电子邮件添加到数据库表或csv(推送时)

然后编写一个cron作业/计划任务,逐步发送这些电子邮件。这样,负载平衡,服务器断电(etc)不会导致电子邮件被“遗忘”


邮件发送后,您可以将记录标记为已发送(或将其删除),并且您的队列正在工作。

以及我们讨论的每次运行的电子邮件数量,使用Xdebug评测您的脚本。识别脚本中消耗内存的部分要容易得多。有很多脚本都是由知道自己在做什么的人编写的,也许可以使用一个。您正在运行托管服务器吗?您是否可以直接访问/etc/hostname文件?确保你在那里有价值。仅DNS查找就需要大约60秒的时间,并且会占用资源。我不久前犯了那个错误。我在数据库中设置了我的电子邮件,在我的crontab中设置了一个php脚本,在凌晨1点左右运行并发送它们。@Zak“仅DNS查找就需要大约60秒的时间,”哦,真的吗??如果设置不正确,DNS查找通常需要20-120毫秒。