2016-03-27 9 views
0

Ich erstelle eine E-Mail-Funktion zum Versenden von Newslettern an viele Empfänger in PHP.SMTP-Fehler: Konnte nicht authentifiziert werden. SMTP connect() ist fehlgeschlagen. 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 

?> 

In dem oben angegebenen Code. Ich habe den korrekten E-Mail-Benutzernamen und das E-Mail-Passwort angegeben. Von Google Mail. Aber es sendet die angegebene E-Mail-Nachricht nicht an den/die Empfänger. Es gibt immer eine ErrorInfo von SMTP zurück Fehler:

Could not authenticate. SMTP connect() failed. 

Warum? Bitte helfen Sie.

+1

Für ein Beispiel, wie Sie effizient zu einer Liste senden können, sehen Sie sich [das mit PHPMailer bereitgestellte Mailinglisten-Beispiel] an (https://github.com/PHPMailer/PHPMailer/blob/master/examples/mailing_list.phps). Sie stoßen wahrscheinlich auf ein bekanntes Problem mit Google Mail. Lesen Sie hierzu [Anleitung zur Fehlerbehebung] (https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting). – Synchro

Antwort

-1

Sie können eine alte Version von phpmailer verwenden, es wird mit Ihrem Code arbeiten. Ich benutze Version 5.2.8.

+0

Können Sie näher erläutern, warum dies notwendig sein könnte? –

Verwandte Themen