DISCOURSE_SMTP_USER_NAME과 DISCOURSE_SMTP_PASSWORD를 SMTP 인증 오류를 유발했던 원래 계정으로 되돌렸고, 앱을 삭제한 후 ./launcher start app을 실행했을 때 다음과 같은 오류가 발생했습니다:
found unknown escape character while parsing a quoted scalar at line 67 column 28 -e LANG=en_US.UTF-8
YAML syntax error. Please check your containers/*.yml config files.
역시나, 어제 눈치채지 못한 패스워드에 \가 들어 있었습니다.
확인하기 위해 새 계정의 이메일 주소를 사용하고, 해당 계정의 비밀번호를 오류가 발생했던 계정의 비밀번호에서 \를 제외한 것으로 변경한 후 app.yml에 저장하고 앱을 다시 시작했습니다. 그 결과 오류 메시지가 다시 발생하지 않았습니다. discourse-doctor를 사용한 이메일 테스트도 성공적으로 완료되었습니다. 그 후, #이나 \를 제외한 여러 특수 문자가 포함된 새 비밀번호를 생성하고 테스트를 반복했습니다. 이 역시 정상적으로 작동했습니다.
요약하자면, app.yml의 DISCOURSE_SMTP_PASSWORD 필드에는 특수 문자를 사용할 수 있지만, 숫자 기호 #, 백슬래시 \, 그리고 아마도 이중 인용부호 "는 제외되는 것 같습니다.