【问题标题】:PHPMailer XAMPP SMTP Authentication failedPHPMailer XAMPP SMTP 身份验证失败
【发布时间】:2015-10-14 04:32:23
【问题描述】:

我正在尝试使用 PHPMailer 从 XAMPP 上的本地虚拟主机发送电子邮件,代码如下。我在 php.ini 中启用了 extension=php_openssl.dll,但我仍然收到以下错误消息。有人知道为什么吗?

require_once 'PHPMailerAutoload.php';
require_once 'class.phpmailer.php';
require_once 'class.smtp.php';

$mail = new PHPMailer(true);
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Host = "smtp.gmail.com";
$mail->Port = 587;
$mail->Username = "xxx";
$mail->Password = "xxx";

$email = "xxx@gmail.com";
$name = "Test";
$email_from = "xxx@gmail.com";
$name_from = "Test";

$mail->AddAddress($email, $name);
$mail->SetFrom($email_from, $name_from);
$mail->Subject = "My Subject";
$mail->Body = "Mail contents";

try{
    $mail->Send();
    echo "Success!";
} catch(Exception $e){
    echo "Fail - " . $mail->ErrorInfo;
}

错误输出: SMTP 错误:密码命令失败:534-5.7.14 SMTP 错误:无法验证。

【问题讨论】:

  • 您使用的是旧版本的 PHPMailer,并且您的代码基于旧示例。您已指定 SMTPDebug = 2,但尚未提供它生成的输出。
  • 您很可能遇到了一个有据可查的 gmail 问题,所以read the troubleshooting guide 告诉您如何处理它。

标签: php xampp gmail phpmailer


【解决方案1】:

对于那些使用 PHPMailer 身份验证失败的问题,并且所有设置和凭据都很好,请尝试使用:

$mail->AuthType = 'LOGIN';

在尝试发送电子邮件的 PHP 中。

我挣扎了最久,直到我添加了这个。

干杯。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-09
    • 2015-07-23
    • 2016-01-26
    • 2019-03-14
    • 2017-01-31
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    相关资源
    最近更新 更多