500 5.5.1 잘못된 명령: 새 설치에서 Discourse로 메일 전송 불가, 명령줄에서는 가능 (Digital Ocean)

설치 후 Digital Ocean에서 ./discourse-docker를 실행하면 다음과 같은 오류가 발생합니다.

==================== MAIL TEST ====================
For a robust test, get an address from http://www.mail-tester.com/
Or just send a test message to yourself.
Email address for mail test? ('n' to skip) [forum@jamaicans.dev]: 
Sending mail to forum@jamaicans.dev. . . 
Testing sending to forum@jamaicans.dev using mail.jamaicans.dev:587.
======================================== ERROR ========================================
                                    UNEXPECTED ERROR

500 5.5.1 Invalid command

forum@jamaicans.dev은 유효한 이메일 주소인가요?
커스텀 SMTP를 사용 중인가요?

네, 저는 Mailu를 사용하여 자체 메일 서버를 운영하고 있습니다 → Mailu — Mailu, Docker based mail server.

SMTP 자격 증명을 사용해 메일 전송이 가능한지 테스트하기 위해 Python 스크립트를 작성했고, 메일의 송수신이 모두 정상적으로 작동합니다. Telnet도 시도해 봤는데 이것도 작동합니다. 포트는 587번으로 StartTLS를 사용하고 있습니다. DMARC와 SPF도 이미 설정해 두었습니다.

메일 계정 비밀번호에 % 기호가 포함되어 있습니다. app.yaml 파일에서 비밀번호에는 # 기호가 들어가면 안 된다는 내용을 확인했습니다. 이것이 문제의 원인이라고 생각하시나요?

비밀번호를 따옴표로 감싸야 합니다. 예: 'P@$$w0RD%100' 이렇게 하면 작동할 것입니다

이미 첨부되어 있습니다

비밀번호를 바꿔서 직접 확인해 보는 건 어때요?

네, 재구성이 완료될 때까지 기다리고 있습니다… 하지만 만에 하나 실패할 경우를 대비해서, 다른 분들도 같은 메시지를 받았는지 확인하고 싶었습니다.

동작하지 않았습니다. 아마 그냥 메일건을 사용할 것 같습니다.

파이썬 스크립트를 공유해 주시겠어요? 저도 mailu를 설치해서 테스트해 보고 싶거든요.

업데이트: 괜찮습니다. https://realpython.com/python-send-email/ 를 참고해서 직접 만들었어요. Mailu는 작동합니다(TLS 없이, letsencrypt를 mailu와 caddy에 함께 사용하는 방법을 아직 찾지 못해서), 하지만 discourse는 이메일을 보내지 않네요 …

안녕하세요,
저에게도 작동했습니다. 메일 설정을 조금 수정했더니 정상적으로 작동하기 시작했습니다. 작동하게 되었다는 점을 언급하지 않은 점 죄송합니다.

저도 성공적으로 실행할 수 있었습니다. discourse-doctor로 테스트해 본 것이 큰 도움이 됐습니다.

저도 같은 오류가 발생했습니다. 두 분 중 누가 어떻게 수정했는지 기억하시나요?

솔직히 말하면, 아니요. 하지만 먼저 실제 파이썬에서 본 예제를 참고해서 작동하도록 시도해 보세요. 그게 해답을 찾게 해 준 것 같습니다.