无法使用phpMailer

时间:2015-10-20 19:22:26

标签: php email gmail phpmailer

我的php网站一直使用phpMailer使用其电子邮件地址连接到Gmail帐户。密码,然后从该帐户发送HTML电子邮件。事情已经工作了一年但最近我在尝试通过phpMailer发送一些电子邮件地址时遇到以下错误:

SMTP - >错误:服务器不接受密码:535-5.7.8不接受用户名和密码。了解更多信息 535 5.7.8 https://support.google.com/mail/answer/14257 x142sm1800199iod.31 - gsmtp

以下是我的PHP代码:

//initialize variable
$mail = new PHPMailer();
$mail->IsSMTP(); 
$mail->SMTPDebug = 1; 
$mail->SMTPAuth = true;  
$mail->SMTPSecure = 'ssl';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;
$mail->IsHTML(true);

//set pw and user
$mail->Username = $from_email;  // SMTP username/email
$mail->Password = $pw; // SMTP password

$mail->From = $from_email;
$mail->FromName = $from_name;
$mail->AddAddress($email,$name);//add recipient address and name 
$mail->Subject = $subject;
$mail->Body = $body;//HTML email body

//send mail
$mail->Send();

奇怪的是,此问题仅发生在某些电子邮件帐户中,并且对于有问题的帐户,无论“允许安全性较低的应用”设置是否在其帐户下启用,都会出现问题。

由于这项工作已经运行了一年多,而且这个“用户名和密码不被接受”的错误最近才出现,而且仅针对某些电子邮件帐户,我想知道Google端是否有任何改变以允许应用程序连接到电子邮件账户。

非常感谢任何帮助/信息。

1 个答案:

答案 0 :(得分:2)

是的谷歌确实改变了他们的身份验证,是的,允许安全性较低的应用并不总是有效。

幸运的是phpmailer刚才添加了对XOAUTH2的支持,所以如果你update to the latest version并阅读文档,示例和wiki,你会没事的。