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;
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题