我最近实现了Swiftmailer库,但我第一次使用它时,我得到了一个 php 超时错误,即使它只需要向大约 300 人发送邮件..(我应该提到,使用set_time_limit(0);
解决方法不是一个选项,因为对服务器的限制)
我使用它的方式是这样的:
$transport = Swift_SmtpTransport::newInstance('smtp.mydomain.com',25);
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance();
$message->setSubject($_POST['subj']);
$message->setFrom(array('email' => 'Mysite'));
$message->setTo($recipients);
$message->setBody(strip_tags($messagebody));
$message->addPart($messagebody, 'text/html');
$numSent = $mailer->batchSend($message);
printf("Sent %d messages\n", $numSent);
where$recipients
是逗号分隔的电子邮件数组(使用explode()
mySQL 查询构建)..
我不知道上面代码的哪一部分生成了脚本超时,并且由于我将它用于时事通讯功能,所以我很难测试或调试它,所以我会非常感谢任何想出的人这个问题的(接近)防弹解决方案:)
提前致谢 !
拉斯