ОШИБКА – 535 ошибка авторизации

По сути, я столкнулся с той же проблемой, что описана здесь: https://meta.discourse.org/t/job-exception-535-authentication-failed/172537

По какой-то причине исходящая почта перестала работать, и теперь я получаю ошибку 535. Я перепроверил учётную запись электронной почты. Войти в неё и использовать её из Apple Mail я могу. Отправку SMTP-писем я также протестировал через Apple Mail. Однако Discourse выдаёт сообщение об ошибке «ERROR – 535 auth failure». Не уверен, как действовать дальше. Поддерживается ли SMTP до сих пор?

Мои тесты на данный момент:

  1. Я пробовал разные почтовые аккаунты.
  2. Я тестировал почтовые аккаунты с помощью другого почтового клиента.
  3. Я обновился до последней версии Discourse (3.2.0.beta1-dev).

Буду признателен за любую помощь.

Может, стоит посмотреть здесь?

Да, я это сделал. Но ошибка сохраняется.

Есть ли что-то еще, что мы могли бы попробовать? Любая помощь будет оценена по достоинству.

У вас есть копия ошибки с более подробной информацией?

В результате поиска вы можете попробовать проверить и повторно ввести свои учетные данные в файле app.yml.

К сожалению, я не знаю, как получить здесь больше деталей. Есть ли возможность включить больше отладочной информации в этом случае? В командной строке контекста нет. Ошибка появляется в интерфейсе.

Разве нет чего-то вроде подробного вывода отладки?

Какая еще информация могла бы помочь? Удаленный сервер сообщает об ошибке аутентификации. Больше мы сказать ничего не можем.

Включена ли для этого почтового аккаунта двухфакторная (2FA) или многофакторная аутентификация (MFA)? Это может мешать работе SMTP AUTH.

Если нет, попробуйте выполнить аутентификацию по SMTP вручную, чтобы проверить, работает ли она.

Сначала нужно сформировать строку аутентификации (строку в кодировке base64, содержащую username␀username␀password)

Рекомендуем использовать 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 Ошибка: аутентификация не удалась: ошибка аутентификации
AUTH PLAIN bWlxxxxxxxxxxxxxxxxxxxxxxxxxxx ← реальный пароль
235 2.7.0 Аутентификация успешна
RSET
250 2.0.0 Ok
QUIT
221 2.0.0 Bye
closed

Если это не сработает, то учётные данные, скорее всего, действительно неверны. Если сработает… мы разберёмся глубже.

В моём случае система не приняла мой пароль, и мне пришлось сбросить его на что-то буквенно-цифровое (без специальных символов).