0

I need to send a common mail to a large number of members (example 5000 members).

I need to send this using SMTP server.

I will get this 5000 members mail id from Data base.

New members will add to the Data base table in each hour ,

for example

after 1 hour , the number of members will reach to 6000

So Which is the best method to send mail to all these members, by dividing the task

4

3 回答 3

0

如何通过 curl 异步运行它。这样,虽然您循环了 6000 个成员,但由于长时间执行,您的文件不会得到超时响应。

function send($params) {
    foreach($params as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
    rtrim($fields_string,'&');

    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,'http://localhost/anotherfiletosendemail.php');
    curl_setopt($ch, CURLOPT_TIMEOUT, 1);
    curl_setopt($ch,CURLOPT_POST,count($params));
    curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
    curl_exec($ch);
    curl_close($ch);
}
于 2013-02-21T17:50:13.673 回答
0

您需要一个消息代理。http://www.rabbitmq.com/http://www.zeromq.org/将为您提供帮助。

于 2013-02-21T17:27:01.840 回答
0

您可以创建一种方法来跟踪已邮寄的成员(例如数据库表上的布尔值),创建一个向 X 人发送邮件的脚本,并配置一个 cron 以每次 Y 次执行此脚本。

如果成员数量的增加没有减慢并且与您的示例相匹配,您将需要配置脚本和 cron 以每小时输出超过 1000 条消息(例如,如果脚本发送 100 条消息,它应该运行 10 次以上小时,所以大约每 5 分钟 1 次)。

如果成员数量的增长逐渐放缓,那么这取决于您必须确保所有成员都收到邮件的时间窗口有多大。

或者,使用像 Ogun 建议的消息代理。

于 2013-02-21T17:34:53.543 回答