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

时间:2015-04-21 07:16:21

标签: php smtp phpmailer

我觉得很困惑,为什么我测试很多很多例子和正确的例子用php邮件发送电子邮件与gmail帐户但它没有用,这里是错误

> 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.

和我的代码

$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";
}

最后知道我测试tls& ssl与端口465&但是......

3 个答案:

答案 0 :(得分:0)

gmail不允许从安全性较低的应用程序发送电子邮件。在Google帐户设置中有一个选项“访问安全性较低的应用”。打开它,你就可以发送电子邮件了。

答案 1 :(得分:0)

前几天我遇到了同样的问题。我找到了这个解决方案,可能对你有用。像这样传达你的价值观。它奇怪但为我工作。

$username="googleaccount@gmail.com";
$password="pass":
$mail->Username = $username;
$mail->Password = $password;

答案 2 :(得分:0)

启用"访问不太安全的应用" :

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