SMTP错误:无法进行身份验证。 SMTP connect()失败。 PHPMailer的

时间:2016-03-27 12:51:13

标签: php phpmailer

我正在编写一个电子邮件功能,用于通过PHP向许多收件人发送简报。

<?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 = "myemail@mail.com";
        $mail->Password = "password";
        $mail->SMTPSecure = 'tls';
        $mail->setFrom("myemail@mail.com","PPA Administrator");
        $mail->addReplyTo('myemail@mail.com', '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。但它不会将给定的电子邮件消息发送给收件人。它总是返回SMTP错误的ErrorInfo:

Could not authenticate. SMTP connect() failed. 

为什么呢?请帮忙。

1 个答案:

答案 0 :(得分:-1)

您可以使用旧版本的phpmailer,它可以使用您的代码。我使用5.2.8版本。