PHPMailer SMTP错误:无法对Mercury localhost进行身份验证

PHPMailer SMTP错误:无法对Mercury localhost进行身份验证,php,email,phpmailer,Php,Email,Phpmailer,目前我正在本地主机上测试我的电子邮件格式和电子邮件发送。我使用XAMPP并“设置”了Mercury邮件服务器。我没有更改任何内容,而是创建了一个新用户 以下是本地用户的照片: 然后,我在PHP中介绍了这一点(不是所有代码,而是重要部分): 然后setCustomSettings如下所示: public function setCustomSettings() { $this->CharSet = 'UTF-8'; $this->isSMTP(); $this

目前我正在本地主机上测试我的电子邮件格式和电子邮件发送。我使用XAMPP并“设置”了Mercury邮件服务器。我没有更改任何内容,而是创建了一个新用户

以下是本地用户的照片:

然后,我在PHP中介绍了这一点(不是所有代码,而是重要部分):

然后
setCustomSettings
如下所示:

public function setCustomSettings() {
    $this->CharSet = 'UTF-8';
    $this->isSMTP();
    $this->Host = 'localhost';
    $this->SMTPAuth = true;
    $this->Username = 'Admin';
    $this->Password = '*******';

    //$this->SMTPSecure = 'tls';
    $this->Port = 25;
    $this->imapHost = '127.0.0.1';
}
现在,我希望它能起作用,但不幸的是它没有起作用。我得到以下错误:

<b>Fatal error</b>:  Uncaught exception 'mailer\phpmailerException' with message 'SMTP Error: Could not authenticate.' in D:\xampp\htdocs\FOLDER\classes\mailer\PHPMailer.php:1352

这表明您的邮件服务器上缺少某些内容。这是它表示支持的功能列表:

250-TIME
250-SIZE 0
250 HELP
请注意,此列表不包括
AUTH
扩展名,但您已要求PHPMailer进行身份验证,但它不能,因为您的服务器不支持身份验证,所以它放弃了。相比之下,Gmail是这么说的(在STARTTLS之后):

您可以看到,它列出了一整套
AUTH
机制

您只需禁用身份验证即可解决此问题:

$this->SMTPAuth = false;
或者通过更改邮件服务器的配置,使其提供身份验证


当我在这里时,为什么不将
setCustomSettings()
方法中的内容放入构造函数方法中,这样就不需要调用它了?

尝试使用
$this->SMTPDebug=2启用调试器查看我编辑的文章以获得输出。请尝试指定
用户名=”root@localhost“
仍然不起作用。我还没有更改它,我只是先尝试一下。我没有做那个功能。我知道当
$this->SMTPAuth
为false时,它可以工作,但我更愿意打开它。我看看能不能在Mercury上给AUTH找点东西。
250-TIME
250-SIZE 0
250 HELP
250-smtp.gmail.com at your service
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
$this->SMTPAuth = false;