duanli8577 2015-04-21 07:16
浏览 79
已采纳

无法使用带有Gmail帐户的phpmailer发送电子邮件

I readly feel confused why i test many many example and correct example to send email with php mailer with gmail account but it did not work,here is the error

> 2015-04-21 07:06:50   CLIENT -> SERVER: EHLO www.ariarules.com
 2015-04-21 07:06:50    CLIENT -> SERVER: STARTTLS
 2015-04-21 07:06:50    CLIENT -> SERVER: EHLO www.ariarules.com
 2015-04-21 07:06:50    CLIENT -> SERVER: AUTH LOGIN
 2015-04-21 07:06:50    CLIENT -> SERVER:
 2015-04-21 07:06:52    SMTP ERROR: Username command failed:   
 535          Incorrect authentication data
 2015-04-21 07:06:52    SMTP Error: Could not authenticate.
 2015-04-21 07:06:52    CLIENT -> SERVER: QUIT
 2015-04-21 07:06:52    SMTP connect() failed.
 Mailer Error: SMTP connect() failed.

and my code

$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; 
$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 = "googleaccount@gmail.com";
$mail->Password = "pass";
$mail->SetFrom("user@gmail.com");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("user@gmail.com");
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}

at end it's better to know i test tls & ssl with port 465 & 587 but....

  • 写回答

3条回答 默认 最新

  • dongtuo2373 2015-04-21 10:01
    关注

    enable "Access for less secure apps" :

    https://www.google.com/settings/security/lesssecureapps

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • drl6054 2015-04-21 07:24
    关注

    gmail does not allow to send emails from less secured applications. there is an option 'access for less secured apps' in google account settings. turn that on and you will be able to send emails.

    评论
  • dou91736 2015-04-21 09:39
    关注

    i was facing same issue some days before . i found this solution , may be it works for you.Pass your values like this. its strange but worked for me.

    $username="googleaccount@gmail.com";
    $password="pass":
    $mail->Username = $username;
    $mail->Password = $password;
    
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 单片机实验pc软件完全,可以私我商议
  • ¥15 用keil调试程序保证结果进行led相关闪烁
  • ¥15 paddle训练自己的数据loss降不下去
  • ¥20 用matlab的pdetool解决以下三个问题
  • ¥15 一道python的homework题,老是非零返回求解
  • ¥15 单个福来轮的平衡与侧向滑动是如何做到的?
  • ¥15 嵌入式Linux固件,能直接告诉我crc32校验的区域在哪不,内核的校验我已经找到了,uboot没有
  • ¥20 h3c静态路要求有详细过程
  • ¥15 调制识别中输入为时频图,星座图,眼图等
  • ¥15 数据结构C++的循环、随机数问题