2016-08-03 19 views
-1

PHP Mailer SMTPを使用して電子メールを送信しようとしていますが、SMTPDebugを有効にしても何も表示されず、$ Mail-> send()、PHP_Mailerはデバッグ情報を表示しません

これは私が持っているものである

$Mail = new PHPMailer();   
$Mail->SMTPDebug = 2; 
$Mail->IsSMTP(); 
$Mail->SMTPAuth = true; 
$Mail->Host = "smtp.gmail.com"; 
$Mail->SMTPSecure = "tls"; 
$Mail->Port = 587; 
$Mail->Priority = 1; 
$Mail->CharSet = 'UTF-8'; 
$Mail->Username = '[email protected]'; 
$Mail->Password = 'xxxxxxxxxxxxxxxxxx'; 
$Mail->Encoding = '8bit'; 
$Mail->Subject = $subject; 
$Mail->ContentType = 'text/html; charset=utf-8\r\n'; 
$Mail->From = "[email protected]"; 
$Mail->FromName = "XXXXXXXXXXXXXXXXX"; 
$Mail->AddReplyTo($replyToEmail, $replyToName); 
$Mail->WordWrap = 998; // RFC 2822 Compliant for Max 998 characters per line 
$Mail->IsHTML(true);  
$Mail->body=$tpl; 
$Mail->AddAddress($email); 
$Mail->Send(); <------ false and doesn't print out why 
私はデバッグ情報を表示するために取得することはできません

、誰もがなぜ知っているのですか?

おかげ

+0

PHPのエラー報告が= 1何http://php.net/manual/en/function.error-reporting.php –

+0

'$ Mail->優先順位を与えるかどうかを確認;標準、5 =低) 'それがあなたの本当のコードならば、これと何らかの理由で解析エラーを受けたはずです。これらのコメントは読まれましたか? –

+0

質問を掲示すると削除されたコメント –

答えて

0

利用キャッチあなたは、あなたの財産/メソッドの使用法の一部が正しくないケースを使用している、phpmailerのの無修正バージョンを使用していると仮定すると、

try { 
$Mail = new PHPMailer(true); //<-- edit add true here   
$Mail->SMTPDebug = 2; 
$Mail->IsSMTP(); 
$Mail->SMTPAuth = true; 
$Mail->Host = "smtp.gmail.com"; 
$Mail->SMTPSecure = "tls"; 
$Mail->Port = 587; 
$Mail->Priority = 1; //Normal, 5 = low) 
$Mail->CharSet = 'UTF-8'; 
$Mail->Username = '[email protected]'; 
$Mail->Password = 'xxxxxxxxxxxxxxxxxx'; 
$Mail->Encoding = '8bit'; 
$Mail->Subject = $subject; 
$Mail->ContentType = 'text/html; charset=utf-8\r\n'; 
$Mail->From = "[email protected]"; 
$Mail->FromName = "XXXXXXXXXXXXXXXXX"; 
$Mail->AddReplyTo($replyToEmail, $replyToName); 
$Mail->WordWrap = 998; // RFC 2822 Compliant for Max 998 characters per line 
$Mail->IsHTML(true);  
$Mail->body=$tpl; 
$Mail->AddAddress($email); 
$Mail->Send(); //<------ false and doesn't print out why 
} catch (phpmailerException $e) { 
    echo $e->errorMessage(); //Error from PHPMailer 
} catch (Exception $e) { 
    echo $e->getMessage(); //Other error messages 
} 
+0

ありがとうございますが例外は発生しません –

+1

PHPMailerは、あなたがそれを伝えない限り例外を発生させません。コンストラクタに 'true'を渡します。 – Synchro

+0

真実私はC/Cもよく – MaximeK

1

を試してみてください。 https://github.com/PHPMailer/PHPMailerでご利用いただけますphpmailerの簡単な例から:

require 'PHPMailerAutoload.php'; 

$mail = new PHPMailer; 

//$mail->SMTPDebug = 3;        // Enable verbose debug output 

$mail->isSMTP();          // Set mailer to use SMTP 
$mail->Host = 'smtp1.example.com;smtp2.example.com'; // Specify main and backup SMTP servers 
$mail->SMTPAuth = true;        // Enable SMTP authentication 
$mail->Username = '[email protected]';     // SMTP username 
$mail->Password = 'secret';       // SMTP password 
$mail->SMTPSecure = 'tls';       // Enable TLS encryption, `ssl` also accepted 
$mail->Port = 587;         // TCP port to connect to 

$mail->setFrom('[email protected]', 'Mailer'); 
$mail->addAddress('[email protected]', 'Joe User');  // Add a recipient 
$mail->addAddress('[email protected]');    // Name is optional 
$mail->addReplyTo('[email protected]', 'Information'); 
$mail->addCC('[email protected]'); 
$mail->addBCC('[email protected]'); 

$mail->addAttachment('/var/tmp/file.tar.gz');   // Add attachments 
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name 
$mail->isHTML(true);         // Set email format to HTML 

$mail->Subject = 'Here is the subject'; 
$mail->Body = 'This is the HTML message body <b>in bold!</b>'; 
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

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

ダニエル、あなたがここに新しい時に正しいことをしてくれてありがとう:) – Synchro

+0

ただ助けてくれるようにしよう。私は何年もの間、SOを十分に潜んでいました。誰かを助けようとするのはずっと遅れているようでした。大文字と小文字の区別は何とか問題にならないことが判明しました。 – Daniell

関連する問題