我创建了一个通讯系统,我的问题是:考虑到我必须将邮件发送到数百个电子邮件地址,我应该如何编写代码?
我已经和我的主机管理员讨论过,他告诉我我应该一封一封地发送我的电子邮件,但每分钟不要超过 6 封。
我可以使用 $Timeout 属性吗?如果是这样,怎么做?
谢谢。
我创建了一个通讯系统,我的问题是:考虑到我必须将邮件发送到数百个电子邮件地址,我应该如何编写代码?
我已经和我的主机管理员讨论过,他告诉我我应该一封一封地发送我的电子邮件,但每分钟不要超过 6 封。
我可以使用 $Timeout 属性吗?如果是这样,怎么做?
谢谢。
如果您必须逐一发送邮件(而不是使用密件抄送),我会使用数据库队列来遵守每分钟仅发送 6 封邮件的限制(无论您最终将使用哪种解决方案来实际发送邮件)。
例如,您将有一个包含收件人、主题、邮件正文、lastsenddate、timessent 和状态的数据库表。
将所有要发送的邮件保存到数据库,然后设置一个每分钟运行一次的 cronjob,并检查队列中是否仍有邮件等待发送(例如 status = "unsend")。然后,您最多可以从队列中选择 6 封(或任何您的限制)邮件,将它们发送出去,将状态设置为“发送”(并增加“timessent”并将“lastsenddate”设置为实际时间,如果您喜欢)并等待下一个cronjob,直到所有邮件都发送完毕。
这样你有几个优点:
Pear Mail 将允许您从 PHP 发送电子邮件到分配的人。