邮件功能导致超时!在群发邮件期间


mail function cause time out ! During mass mail.

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 条记录时,此函数会导致超时!

您应该使用

set_time_limit(seconds)

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

如果您要发送大量电子邮件,请在循环中放置一个 sleep()。某些 MTA 配置为防止泛洪请求,因此会停止您的邮件传递,甚至可能施加处罚。您不会收到邮件,但电子邮件服务器将生成 4xx 类型错误。我不确定你的实现是什么,但是如果你的邮件在队列中工作,你的mail()函数可能直接发送到邮件系统。