PHPMailer 250 验证
PHPMailer 250 Verification
$mail->SMTPDebug = 2;
将显示我们发送邮件时发生的所有事情。
它还显示 SERVER -> CLIENT: 250 2.0.0 Ok: queued,这意味着所有检查都是正确的(host/pot 中没有问题,等等)邮件已发送。
我们可以在 if
条件下验证吗?
喜欢
if("SERVER -> CLIENT: 250 2.0.0 Ok: queued" == "SERVER -> CLIENT: 250 2.0.0 Ok: queued"){
echo "sent";
} else {
echo "error"; }
因为如果主机也不正确,下面的代码将始终显示 sent。 (测试过,然后我就来了)
try {
$mail->IsSMTP();
$mail->SMTPDebug = 0;
$mail->SMTPAuth = true;
$mail->Host = "smtp.wrong.domain";
$mail->Port = 587;
$mail->AddAddress("*****");
$mail->Username="*****";
$mail->Password="*****";
$mail->SetFrom('*****','*****');
$mail->AddReplyTo("*****@*****.*****","*****");
$mail->Subject = "*****";
$mail->MsgHTML("Hi 587");
$mail->Send();
echo 'Message has been sent';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
你只需要像这样检查send()的return
//send the message, check for errors
if (!$mail->send()) {
echo 'Mailer Error: '. $mail->ErrorInfo;
} else {
echo 'Message sent!';
}
您可以在 PHPMailer
中阅读更多相关信息
您没有显示所有代码,但我猜您没有启用异常,因此实际上没有错误检查。确保您的 PHPMailer 实例化如下所示:
$mail = new PHPMailer(true);
您需要 true
参数来启用例外。如果启用了异常,则无需检查 send()
的 return 状态,因为如果出现问题,它会抛出异常。
$mail->SMTPDebug = 2;
将显示我们发送邮件时发生的所有事情。
它还显示 SERVER -> CLIENT: 250 2.0.0 Ok: queued,这意味着所有检查都是正确的(host/pot 中没有问题,等等)邮件已发送。
我们可以在 if
条件下验证吗?
喜欢
if("SERVER -> CLIENT: 250 2.0.0 Ok: queued" == "SERVER -> CLIENT: 250 2.0.0 Ok: queued"){
echo "sent";
} else {
echo "error"; }
因为如果主机也不正确,下面的代码将始终显示 sent。 (测试过,然后我就来了)
try {
$mail->IsSMTP();
$mail->SMTPDebug = 0;
$mail->SMTPAuth = true;
$mail->Host = "smtp.wrong.domain";
$mail->Port = 587;
$mail->AddAddress("*****");
$mail->Username="*****";
$mail->Password="*****";
$mail->SetFrom('*****','*****');
$mail->AddReplyTo("*****@*****.*****","*****");
$mail->Subject = "*****";
$mail->MsgHTML("Hi 587");
$mail->Send();
echo 'Message has been sent';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
你只需要像这样检查send()的return
//send the message, check for errors
if (!$mail->send()) {
echo 'Mailer Error: '. $mail->ErrorInfo;
} else {
echo 'Message sent!';
}
您可以在 PHPMailer
中阅读更多相关信息您没有显示所有代码,但我猜您没有启用异常,因此实际上没有错误检查。确保您的 PHPMailer 实例化如下所示:
$mail = new PHPMailer(true);
您需要 true
参数来启用例外。如果启用了异常,则无需检查 send()
的 return 状态,因为如果出现问题,它会抛出异常。