0
public function send_mail($event = '', $to=array(), $from=array(), $cc=array(), $bcc=array(), $reply_to = array(), $attachment=array(), $subject='', $body='', $is_html=true, $save_db=false, $immediate= true)
        {
            if(count($to)>0)
            {
                foreach($to as $key=>$value)
                {
                    if(!isset($value['name']))  
                        $value['name'] ='';

                    $this->AddAddress($value['address'], $value['name']);
                }
                $this->SetFrom($from['address'], $from['name']);    
                    }   
            else
                return false;   
        }

当超过 1000 条记录时,此功能会导致超时!

4

2 回答 2

0

如果您要发送大量电子邮件,请将 sleep() 放入循环中。一些 MTA 被配置为防止请求泛滥,因此会阻止您的消息传递,甚至可能会施加惩罚。您不会收到邮件回复给您,但电子邮件服务器会生成 4xx 类型错误。我不确定您的实现是什么,但是如果您在队列外发送邮件,那么您的 mail() 函数可能直接发送到邮件系统。

于 2013-10-24T08:22:03.547 回答
0

您应该使用增加邮件脚本的超时时间

set_time_limit(seconds)

http://php.net/manual/en/function.set-time-limit.php

于 2013-10-24T06:32:09.197 回答