错误 — 535 认证失败

基本上,我遇到了与此处描述的相同问题:https://meta.discourse.org/t/job-exception-535-authentication-failed/172537

出于某种原因,我们的电子邮件外发不再工作,现在我收到错误 535。我重新检查了电子邮件帐户。我可以登录并使用 Apple Mail。我也用 Apple Mail 测试了 SMTP 邮件发送。但是 Discourse 给了我这个错误消息“ERROR – 535 auth failure”。我不确定如何进行。SMTP 是否仍然受支持?

我到目前为止的测试:

  1. 我尝试了不同的邮件帐户
  2. 我使用其他邮件软件测试了邮件帐户
  3. 我已更新到最新的 Discourse 版本。(3.2.0.beta1-dev)

任何帮助都将不胜感激。

也许可以看看这里?

1 个赞

是的,我试过了。但错误仍然存在。

还有什么我们可以尝试的吗?任何帮助都将不胜感激。

您是否有更详细的错误副本?

通过搜索,您可以尝试在您的 app.yml 中检查并重新输入您的凭据。

抱歉,我不知道如何在此处检索更多详细信息。在这种情况下,是否有启用更多调试信息的选项?命令行没有上下文。错误出现在用户界面中。

有没有类似详细的调试输出?

还有什么信息会有帮助?远程服务器提示您身份验证失败。我们能说的就这么多了。

您是否为此邮件帐户启用了 2FA 或 MFA?这可能会阻止 SMTP AUTH 工作。

如果不是,您能否手动尝试 SMTP 以查看身份验证是否有效?

您需要先构建身份验证字符串(username␀username␀password 的 base64 编码字符串)

我建议使用 Python:

○ → ipython3

In [1]: import base64

In [2]: import getpass

In [3]: u, p = 'michael', getpass.getpass()
Password: (在此处粘贴或输入密码)

In [4]: base64.b64encode(f'{u}\\x00{u}\\x00{p}'.encode()).decode()
Out[4]: 'bWlxxxxxxxxxxxxxxxxxxxxxxxxxxx'

(如果您这样做,请将 michael 更改为您实际的 SMTP 用户名)

:rotating_light: 请勿分享此字符串,它是您的明文密码

然后手动进行 SMTP,例如:

○ → openssl s_client -starttls smtp -connect mail.my.domain:587
CONNECTED(00000003)
…
---
250 SMTPUTF8
AUTH PLAIN bWljaGFlbABtaWNoYWVsAHBhc3N3b3Jk ← 密码“password”
535 5.7.8 Error: authentication failed: authentication failure
AUTH PLAIN bWlxxxxxxxxxxxxxxxxxxxxxxxxxxx ← 真实密码
235 2.7.0 Authentication successful
RSET
250 2.0.0 Ok
QUIT
221 2.0.0 Bye
closed

如果那不起作用,凭据可能确实有问题。如果它确实有效……我们将进一步研究。

1 个赞

在我的例子中,它不喜欢我的密码,我需要将其重置为字母数字(无特殊字符)。