尝试使用phpmailer和g-suite发送电子邮件

时间:2019-02-23 02:29:38

标签: php email phpmailer

尝试使用phpmailer和g-suite发送电子邮件

我正在尝试使用g-suite帐户通过PHPmailer发送电子邮件,但是我无法...

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'phpmailer/src/Exception.php';
require 'phpmailer/src/PHPMailer.php';
require 'phpmailer/src/SMTP.php';


$mail = new PHPMailer(true);  
try {

$mail->SMTPDebug = 1;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = 'email@email.com';
$mail->Password = 'password';
$mail->SMTPSecure = 'tls';

//Recipients
$mail->setFrom('email@email.com', 'email');
$mail->addAddress('email@email.com');
$mail->addAddress('email@email.com');


//Content
$mail->isHTML(true);
$mail->Subject = 'test';
$mail->Body = 'test';


$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}

在g恤中,我也改变了这一点: enter image description here

这是我得到的错误:

    2019-02-23 02:11:08 CLIENT -> SERVER: EHLO localhost
2019-02-23 02:11:08 CLIENT -> SERVER: STARTTLS
2019-02-23 02:11:08 CLIENT -> SERVER: EHLO localhost
2019-02-23 02:11:08 CLIENT -> SERVER: AUTH LOGIN
2019-02-23 02:11:08 CLIENT -> SERVER: <credentials hidden>
2019-02-23 02:11:08 CLIENT -> SERVER: <credentials hidden>
2019-02-23 02:11:08 SMTP ERROR: Password command failed: 535-5.7.8 Username and Password not accepted. Learn more at535 5.7.8 https://support.google.com/mail/?p=BadCredentials n16sm4194375wmk.45 - gsmtp
SMTP Error: Could not authenticate.
2019-02-23 02:11:08 CLIENT -> SERVER: QUIT
SMTP Error: Could not authenticate.
Message could not be sent. Mailer Error: SMTP Error: Could not authenticate.

我正在尝试在xampp服务器上运行此服务器,我也尝试在ssl托管服务器上运行该服务器,但仍然无法正常工作...知道吗?

2 个答案:

答案 0 :(得分:0)

尝试将“ tsl”更改为“ tls”。

那是我看到的唯一错误。

答案 1 :(得分:0)

我有同样的问题。我已经通过在PHPMailer中使用我自己的密码解决了问题,但是从Google创建了一个APP密码。这是一个16个字符的随机长字符串,可以在您的Google帐户中生成。

转到:myaccount.google.com 前往:安全性 点击:应用密码(或类似的东西) 生成您的应用密码,并将其复制到您的PHPMailer文件中。