PHPMailer仅在SMTPDebug = true时发送电子邮件

前端之家收集整理的这篇文章主要介绍了PHPMailer仅在SMTPDebug = true时发送电子邮件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 PHPmailer.它适用于$mail-> SMTPDebug = true;但当我删除该行时,它会无声地失败.我说默默地失败,因为它没有给出任何错误,但电子邮件似乎没有交付.
$mail = new PHPMailer;

        $mail->SMTPDebug = true;
        $mail->SMTPAuth = true;
        $mail->CharSet = 'utf-8';
        $mail->SMTPSecure = 'ssl';
        $mail->Host = 'smtp.gmail.com';
        $mail->Port = '465';
        $mail->Username = 'xxxxx@gmail.com';
        $mail->Password = 'xxxxx';
        $mail->Mailer = 'smtp';
        $mail->AddReplyTo('support@xxxxx.com','xxxxx Support');
        $mail->From = 'xxxxx@gmail.com';
        $mail->FromName = 'xxxxx Applications';
        $mail->Sender = 'xxxxx Applications';
        $mail->Priority = 3;

        //To us
        $mail->AddAddress('xxxxx@xxxxx.com','xxxxx xxxxx');
        //To Applicant
        $mail->AddAddress($email,$first_name.''.$last_name);
        $mail->IsHTML(true);

        $last_4_digits = substr($card_num,-4);
        //build email contents

        $mail->Subject = 'Application From '.$first_name.' '.$last_name;
        $mail->Body    = $body_html;
        $mail->AltBody = $body_text;

        if(!$mail->send()) {
           echo 'Message could not be sent.';
           echo 'Mailer Error: ' . $mail->ErrorInfo;
           exit;
        }
通过设置
$mail->SMTPDebug = false;

而不是完全省略该行,它每次都有效.

猜你在找的PHP相关文章