CakePHP - 确保CakeEmail错误不会停止脚本并继续其余部分

时间:2015-10-26 03:06:32

标签: php email cakephp smtp

我使用CakeEmail使用我们自己的SMTP服务器发送电子邮件广告系列。

在广告系列发送过程中,我发现一封电子邮件(大约1000张)未能发送,因为该地址不存在或发生故障(或被反垃圾邮件阻止)。

但是,脚本(由cron选项卡通过shell命令调用)不是继续使用其他脚本,而是在命令行中报告错误而停止(我认为错误代码是510左右)。我必须手动运行该命令以确保其余部分已被发送。

电子邮件发送代码非常普通:

// ...
$email->from($settings['from'])
            ->to($to)
            ->subject($settings['subject'])
            ->replyTo($settings['reply_to'])
            ->returnPath($settings['return_path']);

return $email->send($body);
// ...

现在,尽管有一个或多个电子邮件未能发送,我如何确保脚本不会停止并继续运行?

1 个答案:

答案 0 :(得分:1)

  

如何确保脚本不会停止并继续运行

取决于错误的类型。 Read this并在下次报告确切的错误。

我认为这是一个例外:只需使用exception handling, try / catch来捕获它们,如果需要就记录错误并继续。