2017-05-05 5 views
0

以下の機能を得るが、任意のメールやエラーまし送信していないではない:phpmailerのメールメールを送信するための任意のエラー

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('[email protected]', 'zzz Support'); 
    $mail->AddReplyTo('[email protected]', 'zzz Support'); 
    $mail->AddAddress($email); 
    $mail->AddBCC('[email protected]'); 
    $mail->AddBCC('[email protected]'); 
    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; 
} 

デバッグ:デバッグモードでERROR を取得できません[ERROR_COUNT:保護] => 0

+0

ここでメールを送信しましたか?あなたは[FakeSMTP](https://github.com/Nilhcem/FakeSMTP)のようなツールを使って最初にメールをダンプすることをテストできますか? –

+0

これは 'echo"

"; print_r($mail);echo "
";'何も印刷しませんか?または 'var_dump'? –

+0

var_dump(false)....... – sudhir

答えて

0

エラーの情報を取得してデバッグ出力を表示する方法を示す、提供されているサンプルでドキュメントを読んだり、コードをベースにしたりすることは、本当に役に立ちます。あなたは何も求めていないので、何の出力も得られません。 readmeの例から:

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

送信失敗の理由が表示されます。 SMTPデバッグ出力を有効にするには、次のようにします。

$mail->SMTPDebug = 2; 
関連する問題