CentOS 서버에서 자체 호스팅(self-hosted)된 Discourse 인스턴스를 설정하고 실행하기 위해 여러 가지를 시도해 왔습니다. 대부분은 잘 진행되고 있는 것 같습니다. 호스트네임 등 설정이 모두 완료되었고, Docker 컨테이너도 정상적으로 실행되며 로컬 네트워크 내에서 http://discourse.foo.co를 통해 제 Discourse 인스턴스에 접근할 수 있습니다.
하지만 여기서 막혀 있습니다. 사용하고 있는 SMTP 설정이 작동하지 않아서 첫 번째 사용자를 생성할 수 없으며, 어떤 시도를 해도 계속 Net::SMTPSyntaxError가 발생합니다.
app.yml 파일의 제 SMTP 설정은 다음과 같습니다:
## TODO: 초기 가입 시 관리자 및 개발자로 설정될 쉼표로 구분된 이메일 목록
## 예: 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'brian@foo.co'
## TODO: 새 계정을 검증하고 알림을 보내는 데 사용되는 SMTP 메일 서버
# SMTP 주소, 사용자 이름, 비밀번호는 필수입니다
# 경고: SMTP 비밀번호에 '#' 문자가 포함되어 있으면 문제가 발생할 수 있습니다!
DISCOURSE_SMTP_ADDRESS: foo.mail.protection.outlook.com
DISCOURSE_SMTP_PORT: 25
DISCOURSE_SMTP_USER_NAME: user@foo.co
DISCOURSE_SMTP_PASSWORD: 특수 문자 '@'와 '/'가 포함된 비밀번호입니다. 비밀번호에는 '#' 특수 문자가 없습니다.
DISCOURSE_SMTP_AUTHENTICATION: login
DISCOURSE_SMTP_ENABLE_START_TLS: true # (선택 사항, 기본값 true)
#DISCOURSE_SMTP_DOMAIN: discourse.example.com # (일부 제공업체에서 필수)
DISCOURSE_NOTIFICATION_EMAIL: 'community@foo.co' # (알림을 보내는 주소)
Discourse 포럼을 전수 검색해 보았지만 'SMTPSyntaxError’를 검색해도 결과가 나오지 않습니다. 구글에서도 도움이 되는 해결책을 찾지 못하고 있습니다.
동일한 SMTP 설정을 Bamboo와 Jira 서버에 입력하면 완벽하게 작동하며 이메일도 정상적으로 전송됩니다.
또한 https://dnschecker.org/smtp-test-tool.php와 같은 온라인 테스트 도구를 사용해 보았는데, 테스트 이메일을 정상적으로 전송할 수 있었습니다. 예를 들어, 위와 동일한 세부 정보를 입력하면 다음과 같은 내용을 가진 테스트 이메일이 제 수신함에 성공적으로 전송됩니다.
SMTP 호스트: foo.mail.protection.outlook.com.
포트: 25
명시적 TLS 암호화 사용: 아니요
암시적 TLS/SSL 암호화 사용: (빈 값)
인증 사용: 아니요
발신자 이메일: test@foo.co
수신자 이메일: brian@foo.co
```\n
도움을 주시면 감사하겠습니다.
Brian
root@michael-discourse-docker-app:/var/www/discourse# rake 'emails:test[michael@contoso.com]'
Testing sending to michael@contoso.com using mail.contoso.net:587, username:michael with plain auth.
SMTP server connection successful.
Sending to michael@contoso.com. . .
Mail accepted by SMTP server.
Message-ID: e7adb5c4-f404-4800-b070-631b06ff5335@mx1.contoso.com
제안해 주셔서 감사합니다. 하지만 ./discourse-doctor를 사용할 때와 동일한 오류가 발생하는 것 같습니다.
root@discourse-app:/var/www/discourse# rake 'emails:test[brian.lui@foo.co]'
Testing sending to brian.lui@foo.co using foo.mail.protection.outlook.com:25, username:user@foo.co with login auth.
======================================== ERROR ========================================
UNEXPECTED ERROR
Net::SMTPSyntaxError
====================================== SOLUTION =======================================
This is not a common error. No recommended solution exists!
Please report the exact error message above to https://meta.discourse.org/
(And a solution, if you find one!)
=======================================================================================