gpt4 book ai didi

php - 从 PHPMailer Exception 获取完整的错误消息

转载 作者:行者123 更新时间:2023-12-04 15:32:24 25 4
gpt4 key购买 nike

我正在使用 PHPMailer 类发送 smtp 邮件,但我需要从 mysql 表中的 PHPmailerException 跟踪日志,

代码:

 $mail = new PHPMailer(true);
try {
$mail->Host =$dmmodel->host;
$mail->Username= $dmmodel->username;
$mail->Password= $dmmodel->password;
$mail->Mailer='smtp';
$mail->Port=$dmmodel->port;
$mail->SMTPAuth = true;
$mail->SMTPSecure = ($dmmodel->smtp_enableSSL==1?'ssl':($dmmodel->smtp_enableSSL==2 ? 'tls':''));
$mail->SMTPDebug = 2;
$mail->From = $dmmodel->email_from;
$mail->FromName = $dmmodel->name_from;
$mail->Subject = $this->getContentBody($docmodel->content_subject,$docmodel->crm_base_contact_id,$_POST["taskid"],$postcode,$recall_by,$recall_dt,true);
$mail->AddAddress($email[$i]);
$mail->IsHTML(true);
}
catch (phpmailerException $e)
{
$msg = "Email Delivery failed -" . $e->errorMessage();
echo "Email not sent";
}

其中 $msg 变量只有消息 “SMTP 错误:无法验证”但是当我发出警报时,我收到了此问题的完整消息(如下所示),

SMTP -> 来自服务器:220 smtp.gmail.com ESMTP n3sm27565307paf.13 - gsmtp
SMTP -> 来自服务器:250-smtp.gmail.com 为您服务,[122.164.189.101]250-尺寸 35882577250-8比特MIME250-AUTH 登录 PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH250-增强状态代码250-流水线250-分块第250章
SMTP -> 错误:服务器未接受密码:535-5.7.8 用户名和密码未被接受。了解更多信息535 5.7.8 https://support.google.com/mail/?p=BadCredentials n3sm27565307paf.13-gsmtp
SMTP -> 来自服务器:250 2.1.5 Flushed n3sm27565307paf.13 - gsmtp
电子邮件未发送

如何将上述消息存储在变量中?请任何人帮我得到这个完整的信息

最佳答案

你能试试吗:

这个:

$mail->SMTPDebug = 4;

代替

$mail->SMTPDebug = 2;

此外,您还可以通过该方法获取有关错误的更多信息

$mail->ErrorInfo

例如:

if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}

这是您需要使用 new PHPMailer(true) 激活的异常模型的替代方法。

关于php - 从 PHPMailer Exception 获取完整的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39565769/

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