PHP Swift 邮件程序:无法使用 2 个可能的身份验证器在 SMTP 上进行身份验证

2022-08-30 17:03:23

当我使用PHP Swift邮件程序向此服务器发送电子邮件时:smtp.exchange.example.com 如下所示:

// Load transport
$this->transport =
    Swift_SmtpTransport::newInstance(
       self::$config->hostname,
       self::$config->port
    )
    ->setUsername(self::$config->username)
    ->setPassword(self::$config->password)
    ;

// Load mailer
$this->mailer = Swift_Mailer::newInstance($this->transport);

// Initialize message
$this->message = Swift_Message::newInstance();

// From
$this->message->setFrom(self::$config->from);

// Set message etc. ...

// Send
$this->mailer->send($this->message);

我得到一个奇怪的错误回来:

无法使用 2 个可能的身份验证器在用户名为“user@example.com”的 SMTP 服务器上进行身份验证

我确定登录信息是正确的。


答案 1

这可能很旧,但有人可能会通过这个得到帮助。我也遇到了同样的问题,并在我的gmail帐户上收到一封邮件,指出有人试图通过电子邮件客户端或其他网站破解您的帐户。我搜索并发现下面做可以解决这个问题。

转到 https://accounts.google.com/UnlockCaptcha 并解锁您的帐户,以便通过其他媒体/网站进行访问。

更新日期 : 2015年

另外,您可以尝试此操作,转到 https://myaccount.google.com/security#connectedapps 在底部,向右有一个选项“允许安全性较低的应用程序”。如果它是“关闭”,请通过滑动按钮将其打开。

更新日期 : 2021

谷歌网址现在已更改为:https://myaccount.google.com/lesssecureapps。您将被要求重新登录


答案 2

我遇到了同样的问题,所以我在WHM根登录名上禁用了一个设置,如下所示:

WHM > 主>服务器配置 > 调整设置 > 将传出 SMTP 限制为根、exim 和邮件管理员 (FKA SMTP Tweak) [?]


推荐