2016-03-27 22 views
0

PHPの多くの受信者にニュースレターを送信するための電子メール機能を構成しています。SMTPエラー:認証できませんでした。 SMTP connect()に失敗しました。 PHPMailer

<?php 

    require_once('class.phpmailer.php'); 
    require_once('class.smtp.php'); 

    $mailer = new Mailer(); 
    Class Mailer{ 

    function __construct(){ 
     $dbCon = mysqli_connect("localhost", "root", "", "dbppa"); 
    } 



    public function sendMail($e,$message,$subject){ 
     $mail = new PhpMailer; 

     $body = $message; 

     $subject = "PPA Newsletter"; 
     $clientName = $e; 
     $mail->SMTPDebug = 2; 
     $mail->CharSet = 'utf-8'; 
     $mail->isSMTP(); 
     $mail->SMTPAuth = true; 
     $mail->Host = 'tls://smtp.gmail.com:587'; 
     $mail->Port = 587; 
     $mail->Username = "[email protected]"; 
     $mail->Password = "password"; 
     $mail->SMTPSecure = 'tls'; 
     $mail->setFrom("[email protected]","PPA Administrator"); 
     $mail->addReplyTo('[email protected]', 'PPA Admin'); 
     $mail->Subject = $subject; 
     $mail->AltBody = "This is the official news letter from PPA "; 
     $mail->Body = $body; 
     $address = $e; 
     $mail->AddAddress($address, $clientName); 

     if(!$mail->Send()){ 
      echo "NOT SENT"; 

     } 
     else{ 
      echo "SENT"; 


     } 


    } 
    }//class mailer 

?> 

上記のコードでは、私は正しいメールアドレスと電子メールパスワードを提供しました。 Gmailから。しかし、それは与えられた電子メールメッセージを受信者に送信しません。常にErrorInfo SMTPエラーを返します。

Could not authenticate. SMTP connect() failed. 

なぜですか?助けてください。

+1

リストを効率的に送信する方法の例については、[PHPMailerで提供されるメーリングリストの例](https://github.com/PHPMailer/PHPMailer/blob/master/examples/mailing_list.phps)を参照してください。あなたはおそらくgmailに関するよく知られた問題にぶつかっているでしょうから、[トラブルシューティングガイド](https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting)を読んでください。 – Synchro

答えて

-1

phpmailerの古いバージョンを使用することができます、あなたのコードで動作します。私はバージョン5.2.8を使用します。

+0

これがなぜ必要なのかをさらに詳しく説明できますか? –