Пароль SMTP установлен в процессе онбординга

На этапе настройки нам предлагают добавить SMTP-пароль, который мы просто вставляем. Однако оказывается, что это приводит к ошибке аутентификации, так как пароль записывается в формате "password", что не соответствует тому, что ожидает SMTP-сервер.

Решение — вручную отредактировать файл app.yml, убрать кавычки, перезапустить Discourse, и проблема будет решена.

Можно ли изменить это поведение?

Есть ли в вашем пароле обратные слеши или другие специальные символы? В большинстве случаев он работает как ожидалось, но из-за особенностей регулярных выражений и sed это решение довольно хрупкое. Вы первый за долгое время, кто пожаловался (и при этом знал, как это исправить).

Если вы сможете найти способ сделать так, чтобы это работало, я уверен, что ваш PR будет принят (хотя окончательное решение не за мной).

Я использую стандартный метод SendGrid для генерации приватного пароля. И, думаю, вы правы, возможно, это связано с определёнными символами в регулярном выражении.
Я, конечно, могу внести свой вклад, так как это не большая проблема. Но я новичок в участии в разработке Discourse, не могли бы вы указать мне правильное направление (какой компонент отвечает за эту функциональность?)?

Это скрипт discourse-setup в discourse_docker.

Думаю, нужно исправить только вызов sed, который выполняет замену. Если вы предложите исправление здесь, я смогу посмотреть.