doudou3935 2017-05-05 07:19
浏览 63
已采纳

PHPMailer电子邮件不发送,不会收到任何错误

The below function to send email but got any mail or error :

function send_Email($email, $subject, $body ,$cc = '')
{
    $this->Log("Sending email with To: ". $email. "   <br>Subject: ". $subject ."       <br>Body: ".$body);

    $mail = new PHPMailer();
    $mail->IsHTML(true);
    $mail->IsSMTP(); 
    $mail->CharSet    = "utf-8";
    $mail->SMTPAuth   = true; 
    $mail->SMTPSecure = "tls"; 
    $mail->Host       = email_host; 
    $mail->Username   = email_username;
    $mail->Password   = email_password;
    $mail->SetFrom('support@xyv.com', 'zzz Support');
    $mail->AddReplyTo('support@xyv.com', 'zzz Support');
    $mail->AddAddress($email);
    $mail->AddBCC('support@xyv.com');
    $mail->AddBCC('zzz@zzz.com');
    if(!empty($cc)) {
        $mail->addCC($cc);
    }
    $mail->Subject  = $subject;
    $mail->Body     = $body;    

    echo "<pre>"; print_r($mail);echo "</pre>";
    $response = $mail->Send();
    var_dump($response);

    return $response;
}

Debug : IN DEBUG MODE NOT GET ERROR [error_count:protected] => 0

  • 写回答

1条回答 默认 最新

  • dstbp22002 2017-05-05 07:42
    关注

    It would really help to read the docs and base your code on the examples provided, which show how to get info about errors, and show debug output. You're not getting any output because you're not asking for any. From the example in the readme:

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

    That will show you the reason for any sending failure. To enable SMTP debug output, do this:

    $mail->SMTPDebug = 2;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?