PHPMailer 中的错误处理
PHPMailer 中的错误处理可能有点令人困惑,特别是如果您不熟悉它的工作原理的话。默认情况下,PHPMailer 会将遇到的任何错误直接回显给浏览器,这可能会破坏您实现的任何错误处理。
要使这些消息保持沉默,您可以使用 PHPMailer 的异常功能。默认情况下,PHPMailer 未配置为抛出异常,但您可以在创建新的 PHPMailer 实例时通过将Exceptions 参数设置为 true 来启用它。
例如:
$mail = new PHPMailer(true);
一旦您启用异常后,您可以使用 try/catch 块捕获发生的任何错误。例如:
try { $mail->AddReplyTo('[email protected]', 'First Last'); $mail->AddAddress('[email protected]', 'John Doe'); $mail->SetFrom('[email protected]', 'First Last'); $mail->AddReplyTo('[email protected]', 'First Last'); $mail->Subject = 'PHPMailer Test Subject via mail(), advanced'; $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically $mail->MsgHTML(file_get_contents('contents.html')); $mail->AddAttachment('images/phpmailer.gif'); // attachment $mail->AddAttachment('images/phpmailer_mini.gif'); // attachment $mail->Send(); echo "Message Sent OK\n"; } catch (phpmailerException $e) { echo $e->errorMessage(); //Pretty error messages from PHPMailer } catch (Exception $e) { echo $e->getMessage(); //Boring error messages from anything else! }
通过处理异常,您可以防止 PHPMailer 将错误消息回显到浏览器,而是以更受控的方式显示它们。
以上是如何有效处理PHPMailer中的错误?的详细内容。更多信息请关注PHP中文网其他相关文章!