douhuiyan2772 2016-04-07 05:04
浏览 133
已采纳

通过PHPMailer发送电子邮件时身份验证错误

Following is the code that I am using for sending mail using PHPMailer but getting error.

 public function changePassword(){
   if($this->request->is('post')){
   require_once(ROOT .DS. 'vendor' . DS  . 'PHPMailer' . DS .  'class.phpmailer.php');
   $email = 'abc@gmail.com';
   $mail = new PHPMailer(); // create a new object
   $mail->IsSMTP(); // enable SMTP
   $mail->isHTML(true);
   $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
   $mail->SMTPAuth = true; // authentication enabled
   $mail->SMTPSecure = 'TLS'; // secure transfer enabled REQUIRED for Gmail
   $mail->Host = "smtp.gmail.com";
   $mail->Port = 587; // or 587
   $mail->IsHTML(true);
   $mail->Username = "xyz@gmail.com";
   $mail->Password = "dead_gone";
   $mail->SetFrom("xyz@gmail.com");
   $mail->AddAddress($email);
   $mail->Subject = "password recovery";
   $mail->Body = "your password is:- sdx_12345  click here to log in <a href ='http://localhost/cake/logins'> click here  </a>  ";

   if(!$mail->Send()) {
     echo "Mailer Error: " . $mail->ErrorInfo;
   } else {
       echo "mail sent";
     }
 }

}

ERROR:

SMTP -> ERROR: AUTH not accepted from server: 530 5.7.0 Must issue a STARTTLS command first. v3sm8416695par.17 - gsmtp SMTP Error: Could not authenticate. Mailer Error: SMTP Error: Could not authenticate.

  • 写回答

3条回答 默认 最新

  • dongmei3869 2016-04-07 06:16
    关注

    This property is case-sensitive:

    $mail->SMTPSecure = 'tls'
    

    It would help if you based your code on the gmail example provided with PHPMailer - it's not as if you're the first to connect to gmail!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • dongtuoleng8624 2016-04-07 05:25
    关注

    try a SSL connection over the port 465 and look at you security settings in you account from google

    评论
  • dtudj42064 2016-04-07 05:42
    关注

    You should also put

    $mail->IsHTML(true);
    

    after you set your body and attachments.

    Edit:

    It also might be possible that TLS has to be lowercase.

    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 python 3des pyDes库
  • ¥15 关于#mysql#安装失败的问题。MySQL
  • ¥15 想问一下for循环计算表达式的方法,第一次接触
  • ¥15 如何在VA框架上面加功能,去读取框架内任何app数据功能
  • ¥15 关于#c语言#的问题:用c或c++写一个计算下列问题有关软件工程的代码并加上分析
  • ¥15 Zeppelin0.10.0版本升级lib包下的shiro-web
  • ¥15 链表入队的指针内存问题
  • ¥20 vba如何写本地html文件执行js
  • ¥15 VS2022的C#如何创建
  • ¥20 关于#用户注册#的问题,如何解决?