禁用PHPMailer错误消息

Ric*_*ard 6 php email phpmailer

如何禁用PHPMailer类的错误消息?我正在显示自己的错误消息,我不希望用户看到"SMTP错误:无法连接到SMTP主机"等错误.

我的代码:http://pastie.org/1497819

谢谢

hea*_*ath 27

我知道这个线程已经老了并且已经回答了,但我在这里偶然发现是因为我遇到了同样的问题,但最后却以不同的方式解决了它,所以我想我会分享.注意:我正在使用PHPMailer v5.1.

实例化PHPMailer类时,它需要一个可选参数$ exceptions.这告诉PHPMailer它是否应该在遇到异常时抛出异常.它默认为false,这意味着它不会抛出任何异常,只是回显它的消息.但是,如果你称之为

  $mail = new PHPMailer(true);
Run Code Online (Sandbox Code Playgroud)

你会告诉它抛出异常.然后,您可以捕获这些异常并按照您的选择处理它们.对我来说,这比弄乱源代码或禁用错误报告更干净,更优雅.


sbu*_*uck 12

这就是PHPMailer希望你这样做的方式; 不涉及编辑原始类文件.

$mail->SMTPDebug = false;
$mail->do_debug = 0;
Run Code Online (Sandbox Code Playgroud)


Ric*_*rdo 4

这可能不是最好的解决方案,但它确实有效。

在你的 phpmailer 库文件夹中打开“class.phpmailer.php”,

寻找

public function Send()
Run Code Online (Sandbox Code Playgroud)

在里面注释掉这一行

echo $e->getMessage()."\n";
Run Code Online (Sandbox Code Playgroud)

  • $mail->SMTPDebug = 0; 将停止所有警告/通知 (4认同)