我创建了一个简报系统,我的问题是:考虑到我必须将该邮件发送到数百个电子邮件地址,我应该如何编写代码?
我和我的主机管理员讨论过,他告诉我应该逐个发送电子邮件,但每分钟不要超过6封。
我可以使用$ Timeout属性吗?如果是这样,怎么样?
感谢。
答案 0 :(得分:3)
如果您必须逐个发送邮件(而不是使用BCC),我会使用数据库队列来尊重每分钟只发送6封邮件的限制(无论您最终采用何种解决方案)用来实际发送邮件)。
E.g。你有一个包含收件人,主题,邮件主体,lastsenddate,timessent和status的数据库表。
保存所有邮件,然后发送到数据库,然后设置一个每分钟运行一次的cronjob,并检查队列中是否还有邮件等待发送(例如status =“unsend”)。然后,您从队列中选择最多6个(或任何限制)邮件,将其发送出去,将状态设置为“发送”(并增加“timessent”并将“lastsenddate”设置为实际时间,如果您喜欢)并等待下一个cronjob,直到所有邮件都被发送。
这样你有几个好处:
答案 1 :(得分:0)
Pear Mail将允许您从PHP向所有人发送电子邮件。