gpt4 book ai didi

php - 使用 PHPMailer 处理错误

转载 作者:IT王子 更新时间:2023-10-29 00:01:07 29 4
gpt4 key购买 nike

我正在尝试将 PHPMailer 用于一个小项目,但我对该软件的错误处理有点困惑。希望有人有经验。当我设置电子邮件并使用时:

$result = $mail->Send();

if(!$result) {
// There was an error
// Do some error handling things here
} else {
echo "Email successful";
}

或多或少哪个工作正常。问题是当出现错误时,PHPMailer 似乎也会回显错误,所以如果出现问题,它只是将该信息直接发送到浏览器,基本上破坏了我试图做的任何错误处理。

有没有办法让这些消息静音?它没有抛出异常,它只是打印出错误,在我的测试用例中是:

invalid address: @invalid@email You must provide at least one recipient email address.

它本来是一个错误,但它应该驻留在 $mail->ErrorInfo 中;没有被软件回显。

最佳答案

PHPMailer 使用异常。尝试采用以下code :

require_once '../class.phpmailer.php';

$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch

try {
$mail->AddReplyTo('name@yourdomain.com', 'First Last');
$mail->AddAddress('whoto@otherdomain.com', 'John Doe');
$mail->SetFrom('name@yourdomain.com', 'First Last');
$mail->AddReplyTo('name@yourdomain.com', '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!
}

关于php - 使用 PHPMailer 处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2386544/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com