2016-04-01 13 views
-1

ここに私のコードです。私は本当に私のcode.Iはこのエラーを取得していますが間違っているかを知る必要があります: - 「SMTPは(接続)できなかったhttps://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting。」PHPMailerを使用して電子メールを送信できないのはなぜですか?

<?php 
require_once 'PHPMailer/class.phpmailer.php'; 
    //sending mail for verification 
    $mail = new PHPMailer(); 

$mail->IsSMTP(); 
$mail->SMTPDebug = 2; 
$mail->SMTPAuth = true; 
$mail->Port = 587; 
$mail->Host = 'mail.mydomain.com'; 
$mail->Username = 'myusername'; // Enter your SMTP username 
$mail->Password = "mypassword"; // SMTP password 


$mail->From = "[email protected]"; 
$mail->FromName = " Verification"; 
$mail->AddAddress("[email protected]", "Name"); 

$mail->AddReplyTo("[email protected]", "Information"); 




$mail->IsHTML(true);         

$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 "Mail sent"; 
}else{ 
echo 'Mailer Error: ' . $mail->ErrorInfo; 
} 
?> 

私の資格情報correct.Iがでリンクをたどっていたされていますエラーメッセージが表示され、そこに記載されているほとんどすべてを試しましたが、何も私のために働くようです。これは私の元のコードの最短でトリムされたバージョンです。これは私にとってはうまくいきません。

+0

このようなPHPメーラーエラーをチェックする必要があります。 'メーラーエラー:'。 $ mail-> ErrorInfo; ' –

+0

PHPMailerのあらゆる種類の問題を診断して修正する方法を教えてくれるリンクをたどってみませんか?それとも、もしあなたがしたら、あなたが試したことを知る必要はないと思いますか? – Synchro

+0

また、古いバージョンのPHPMailerを使用しており、古いコードに基づいてコードを作成しています。あなたが手助けをしたい場合は、少なくとも少量の努力を払わなければなりません。 – Synchro

答えて

-1

私はこの問題を解決しました。ここに私が作った変更があり、それは完全にうまく動作します。

<?php 
require_once 'PHPMailer/class.phpmailer.php'; 
require_once 'assets/import/PHPMailer/class.smtp.php'; //I added this here which wasn't added in original script 
    //sending mail for verification 
    $mail = new PHPMailer(); 

$mail->IsSMTP(); 
$mail->SMTPDebug = 2; 
$mail->SMTPAuth = true; 
$mail->Port = 587; 
$mail->Host = 'mail.mydomain.com'; 
$mail->Username = 'myusername'; // Enter your SMTP username 
$mail->Password = "mypassword"; // SMTP password 


$mail->From = "[email protected]"; 
$mail->FromName = " Verification"; 
$mail->AddAddress("[email protected]", "Name"); 

$mail->AddReplyTo("[email protected]", "Information"); 

// Adding SMTPOption is the main thing that solved my problem. I got this from troubleshooting page of PHPMailer. And they 
// recommended to do this only if every other option fails. 

$mail->SMTPOptions = array(
    'ssl' => array(
     'verify_peer' => false, 
     'verify_peer_name' => false, 
     'allow_self_signed' => true 
    ) 
); 


$mail->IsHTML(true);         

$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 "Mail sent"; 
}else{ 
echo 'Mailer Error: ' . $mail->ErrorInfo; 
} 
?> 
+0

あなたのアプリケーションを使用するすべての人のセキュリティを損なうのではなく、SSL証明書検証の失敗に対処する正しい方法は、セキュリティで保護されていないメールサーバーを実行してはならないISPに報告することです。 – Synchro

+0

これは私が実行しているコードとまったく同じです。あなたのログイン資格情報や私が使っている電子メールIDを教えてもらえません。私は、問題を診断するのに十分な情報を提供していることは確かです。そうでなければ、あなたが探しているものを正確に言いなさい。あなたが何かを言うたびに、あなたは「時代遅れ」という言葉を乱用します。私は正しいドメイン、パスワード、そして他のすべてのものを使用しており、あなたや誰にも知らないことを望んでいません。あなたはこれが時代遅れのために動かないと私に伝えようとしていますか? –

+0

「廃止」は完全に適切です。トラブルシューティングガイドの最初の段落(または第2段落)を読んでいない。あなたはガイドのエラーメッセージを検索しませんでした(それはすぐそこにあり、原因を診断する方法を教えてくれます)。どういうわけか基本的な指示を読むことができないことが私のせいですか? – Synchro

関連する問題