./discourse-setup が SMTP ユーザー名を SMTP パスワードの先頭に配置する

はい。それが問題です。bashが値を受け取るとき、bashがsedに値を受け渡すとき、sedがそれを置換するとき、そしておそらく、ymlファイルがそれを受け取るときなど、複数のレベルのエスケープが必要です。これは既知の問題です。

これを#supportに再分類しました。