首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHPMailer SMTP连接错误

PHPMailer SMTP连接错误
EN

Stack Overflow用户
提问于 2017-05-16 10:58:20
回答 1查看 646关注 0票数 1

我试图在AWS中设置PHPMailer。它返回SMTP连接()失败的错误。

代码语言:javascript
复制
<?php
require 'vendor/autoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug =2;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->AuthType = 'XOAUTH2';
$mail->oauthUserEmail = "xxx@gmail.com";
$mail->oauthClientId = "client-key.apps.googleusercontent.com";
$mail->oauthClientSecret = "secretkey";
$mail->oauthRefreshToken = "refresh_token";
$mail->setFrom('tittuonnet@gmail.com', 'ParkIt');
$mail->addAddress("tittuhpd@gmail.com", "Tittu Varghese");
$mail->Subject = 'ParkIt - Verification Code';
$mail->Body = 'Please verify your account';

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

?>

调试日志

代码语言:javascript
复制
SERVER -> CLIENT: 220 smtp.gmail.com ESMTP 22sm11056028qkv.52 - gsmtp
CLIENT -> SERVER: EHLO server_domain_or_ip
SERVER -> CLIENT: 250-smtp.gmail.com at your service, [54.157.255.58]250-SIZE 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
CLIENT -> SERVER: STARTTLS
SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
CLIENT -> SERVER: EHLO server_domain_or_ip
SERVER -> CLIENT: 250-smtp.gmail.com at your service, [54.157.255.58]250-SIZE 35882577250-8BITMIME250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
SMTP Error: Could not authenticate.
CLIENT -> SERVER: QUIT
SERVER -> CLIENT: 221 2.0.0 closing connection 22sm11056028qkv.52 - gsmtp
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
SERVER -> CLIENT: 220 smtp.gmail.com ESMTP s191sm6833675qke.56 - gsmtp
CLIENT -> SERVER: EHLO server_domain_or_ip
SERVER -> CLIENT: 250-smtp.gmail.com at your service, [54.157.255.58]250-SIZE 35882577250-8BITMIME250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
CLIENT -> SERVER: STARTTLS
SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
CLIENT -> SERVER: EHLO server_domain_or_ip
SERVER -> CLIENT: 250-smtp.gmail.com at your service, [54.157.255.58]250-SIZE 35882577250-8BITMIME250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
SMTP Error: Could not authenticate.
CLIENT -> SERVER: QUIT
SERVER -> CLIENT: 221 2.0.0 closing connection s191sm6833675qke.56 - gsmtp
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

AWS安全规则

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-16 18:30:22

最后,我解决了我的问题。在此过程中,我发现了一些有用的资源(这可能会在SMTP身份验证期间引起类似的问题)。

解决方案--即使您使用的是composer,也必须将PHPMailerAutoload.php文件包含到代码中。

代码语言:javascript
复制
require 'PHPMailer/PHPMailerAutoload.php';
require 'vendor/autoload.php';

加入组允许未经评审的应用程序进行高风险访问权限,以执行未评审/开发/单个SMTP身份验证应用程序。你可以从这里上读到更多关于它的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43999573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档