SMTP 비밀번호에서 피해야 할 문자가 있나요? 있다면 문서에 언급되어 있을 수 있습니다.
처음 설정한 비밀번호가 작동하지 않아 오류가 발생했습니다. 비밀번호를 변경(app.yml 편집)한 후 앱을 다시 빌드했습니다. 그 이후에 “새 계정 확인” 이메일을 받을 수 있었습니다.
원래 이메일에서 의심되는 문자는 ]였습니다.
새 비밀번호는 Mailgun에서 생성하도록 했습니다.
SMTP 비밀번호에서 피해야 할 문자가 있나요? 있다면 문서에 언급되어 있을 수 있습니다.
처음 설정한 비밀번호가 작동하지 않아 오류가 발생했습니다. 비밀번호를 변경(app.yml 편집)한 후 앱을 다시 빌드했습니다. 그 이후에 “새 계정 확인” 이메일을 받을 수 있었습니다.
원래 이메일에서 의심되는 문자는 ]였습니다.
새 비밀번호는 Mailgun에서 생성하도록 했습니다.
테드님, 커뮤니티에 오신 것을 환영합니다! ![]()
]와 같은 특수문자는 피하는 것이 좋습니다. 하지만 제이님의 위 답변을 보면 %를 포함시키는 것과 마찬가지로 작동할 것이라 생각했습니다.
혹시 비밀번호에 따옴표가 포함되어 있었나요? "는 비밀번호를 감싸기 때문에 사용할 수 없는 문자인 것 같습니다. app.yml을 편집하여 이스케이프 문자 \를 추가하지 않는 한요.
만약 이것이 답이 아니라면, 피해야 할 특수문자를 명시하도록 이 문서 주제를 업데이트해야 할 것 같습니다! 아니면 설치기에 경고 메시지를 추가하는 것도 방법입니다.
더 자세히 살펴보지 않고 말하자면, 비밀번호에서 특이한 문자를 제거하거나 app.yml을 수동으로 편집하여 비밀번호를 작은따옴표로 감싸는 것이 좋습니다. discourse-setup은 모든 상황에 대응하도록 설계되지 않은 상당히 거친 도구입니다.
저도 그렇게 추천하겠습니다. 그 작은 오류 때문에 설치에 30분이나 더 걸렸거든요.
더 좋은 방법은 설치 과정에서 비밀번호 검증을 추가하여 기준을 충족하지 않는 비밀번호를 거부하는 것입니다.
OP를 수정하여 비밀번호에 특수 문자를 포함할 수 없다는 점을 명시했습니다. 이렇게 해도 괜찮을까요?
가이드에 다른 조언들도 반영하고 이 모든 답변들을 삭제합시다. 스크롤하면서 많은 답변의 내용이 명확하지 않았습니다. 예를 들어, 첫 번째 답변은 SMTP 설정을 업데이트한 후 재빌드가 필요하다고 제안하는데, 이는 가이드와 모순됩니다.
문서 개선 제안:
외부 제공업체(저는 SendGrid를 사용했습니다)와 SMTP를 구성할 때 가입 이메일을 받지 못했습니다. discourse-doctor를 실행하면 오류가 식별되었습니다: Reason: 550 The from address does not match a verified Sender Identity.
SendGrid에서 최상위 도메인(example.com)의 전송 인증은 완료했지만, discourse 서브도메인(discourse.example.com)의 인증은 아직 하지 않아 SendGrid가 API 호출을 거부하고 있었습니다.
이 문제를 파악하는 데 약 15분밖에 걸리지 않았지만, 향후 Discourse를 설치하는 신규 사용자의 마찰을 줄이기 위해 app.yml과 설치 스크립트에 이를 더 명확히 설명하는 추가 주석을 포함하는 것이 도움이 될 것 같습니다. 또한 문제 해결 페이지에 대한 직접적인 참조도 유용할 것입니다.
다음과 같은 내용입니다:
# 대부분의 SMTP 제공업체는 이메일 전송을 위해 인증된 도메인 또는 인증된 이메일 주소를 요구합니다.
# 이메일 전달성을 보장하기 위해 새 사용자를 등록하기 전에 SMTP 제공업체에서 전송 도메인
# (example.com), 서브도메인(discourse.example.com) 및 `notifications` 이메일 주소를 인증했는지 확인하세요.
#
# `discourse-doctor` 명령을 사용하면 이메일 구성을 테스트하는 데 도움이 됩니다.
# 참고: https://meta.discourse.org/t/troubleshoot-email-on-a-new-discourse-install
이메일 포트 587은 Mailgun에서 작동하지 않는데, 포트 2525는 작동하나요? app.yml에서 포트를 2525로 변경했지만 여전히 작동하지 않습니다?
어떻게 수정해야 하나요?
포트를 변경한 후 컨테이너를 삭제하고 다시 시작했나요 (또는 재구축했나요)?
포트 변경 후 다시 빌드했습니다. 컨테이너를 삭제하고 다시 시작해야 하나요?
2025년 3월/4월 기준으로, DigitalOcean은 기본적으로 모든 Droplet에서 SMTP 포트를 차단하고 있습니다. 지원 티켓을 제출하면 제한을 해제해 주지만, 사례별로 처리되는 것으로 보입니다:
모든 설정이 올바르게 되어 있음에도 이메일이 전송되지 않는 이유를 고민하며 머리를 쥐어짤 필요가 없도록, 다른 분들에게도 도움이 되길 바랍니다! ![]()
몇일 전에는 포트 25가 인바운드로는 작동했지만, 아웃바운드는 한 번도 작동한 적이 없습니다
아웃바운드 메일에 포트 2525를 사용하는 것이 도움이 될 것 같습니다. 하지만 587 포트가 이제 차단되어 있다는 점은 불편합니다.
DigitalOcean 드롭렛과 Discourse를 어떻게 설정해야 할까요? 처음 해보는 거라 잘 모르겠어요.
여기 한번 봐봐 ![]()
설치 중에 이메일이 도착하지 않습니다. 하지만 테스트 도구가 제 SMTP 정보로 이메일을 보냈습니다.
가장 흔한 문제는 Discourse가 SMTP 서버가 메일을 보내지 않는 알림 이메일 주소를 사용한다는 것입니다.
Python/Django에는 python manage.py sendtestemail <email>라는 콘솔 명령어가 있습니다.
Discourse에도 비슷한 명령어가 있을까요?