안녕하세요,
DigitalOcean에 Discourse Docker 인스턴스를 설정했습니다. 설정 과정은 순조로웠지만, 계정 생성이 작동하지 않는 것 같습니다. 인증 이메일을 받지 못하기 때문이에요.
제 설정은 다음과 같습니다.
DISCOURSE_SMTP_ADDRESS: smtp.strato.de
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: no-reply@celesto.graphics
DISCOURSE_SMTP_PASSWORD: "xxx"
DISCOURSE_SMTP_ENABLE_START_TLS: true # (선택 사항, 기본값 true)
DISCOURSE_SMTP_DOMAIN: celesto.graphics.com
DISCOURSE_NOTIFICATION_EMAIL: no-reply@celesto.graphics
다음 명령어로 연결을 테스트해 보았습니다.
telnet smtp.strato.de 465
Trying 81.169.145.133...
Connected to smtp.strato.de.
Escape character is '^]'.
이제 어떻게 진행해야 할지 모르겠습니다. 도움을 주시면 감사하겠습니다.
새로운 Discourse 설치에서 이메일 문제 해결에 관한 Troubleshooting email on a new Discourse install 포스트에 포트 465에 대한 내용이 있습니다. 도움이 될까요?
Discourse:
이메일 SMTP 포트 선택 (465 사용?)
이메일 문제 해결의 첫 단계에서 ‘telnet’을 사용하여 AUTH를 수행할 수 있는 능력 은 매우 중요합니다.
포트 465(SMTP over SSL)는 대부분 폐기되었으며, 대신 25 포트의 STARTTLS가 권장됩니다. 예상대로 작동하지 않는 경우 포트 2525 또는 포트 587(메일 제출)과 같은 대안 포트를 시도해 볼 필요가 있습니다.
문제는 587 포트에서는 작동하지 않아서 465 포트를 시도해 봤는데, 아무 변화가 없었습니다.
Rhod
(Rodolfo)
7월 30, 2022, 10:19오후
4
아마 많은 분들에게는 매우 자명한 질문일 수 있지만, 때로는 단순한 것들이 오히려 간과되곤 합니다.
Digital Ocean(DO)에서 도메인 이름(talk.example.com )을 추가하고, 필요한 포트를 열도록 방화벽을 조정해 보셨나요? 또한 방화벽 설정에서 'discourse’를 설치한 드롭렛(Droplet)을 반드시 추가해야 한다는 점도 잊지 마세요.
안녕하세요, 답변 주셔서 감사합니다.
제가 한 일은 드롭렛을 생성한 후, 도메인 제공업체에서 새로운 A 레코드를 만들고 드롭렛의 IP 주소를 추가한 것입니다.
이 이메일 설정에 드롭렛에 도메인을 추가하는 것이 필수적인가요? 그렇다면 어디에 도메인을 추가해야 하는지, 예를 들어 정확한 위치를 알려주실 수 있을까요? 그리고 방화벽에 무엇을 추가해야 하는지도 궁금합니다.
이런 종류의 작업에는 그렇게 경험이 많지 않습니다.
어쨌든 감사합니다!
Rhod
(Rodolfo)
7월 30, 2022, 10:40오후
6
2TapPrince:
celesto.graphics
걱정하지 마세요, 최선을 다해 안내해 드리겠습니다. 이 분야 전문가까지는 아니지만, 제 이메일은 지금까지 문제없이 작동하고 있습니다. 개인적으로는 "sendiblue"를 사용하는데, 다른 서비스들이 요구하는 필터를 거치지 않고 계정을 사용할 수 있었던 유일한 서비스였기 때문입니다.
요약하자면, 제가 언급한 섹션은 "networking"에 있습니다.
Networking 클릭
도메인 “example.com ” 입력 ("talk.example.com "이 아님)
프로젝트 선택
개인적으로 제 경우, Sendinblue가 도메인 소유권을 확인하기 위해 일부 DNS 값을 추가하라고 요청했기 때문에 "DO"에서 도메인 이름을 추가하고 관리해야 했습니다. 구글의 사용자 등록 과정과 유사합니다.
답장 주셔서 감사합니다!
네, 말씀하신 대로 해 보았습니다.
또 다른 문제가 있습니다. 관리자 화면에서 테스트 메일을 보내려고 했는데, 다음과 같은 오류가 발생했습니다.
테스트를 위해 제 구글 메일을 수신인으로 입력했습니다. 하지만 메일이 발송되지 않은 것 같습니다. 정말 이상하네요.
즉, 제가 메일을 보낼 수 없다는 뜻이고, 이것이 활성화 메일을 받지 못하는 이유이기도 합니다.
Rhod
(Rodolfo)
7월 30, 2022, 11:07오후
8
잊고 있었네요. 방화벽을 통해 포트 587을 이미 열었나요?
네트워크 내부에서도 동일한 작업을 수행합니다.
네트워킹/방화벽/방화벽 생성
이름 (예: 내 포럼 방화벽)
새 규칙을 추가하고 “Custom”(사용자 지정)을 선택합니다.
Custom
TCP
587
Custom
UDP
587
규칙을 적용하려는 드롭렛(Droplet)을 선택합니다.
마지막으로 “CREATE FIREWALL”(방화벽 생성) 버튼을 클릭합니다.
지금 어떤 솔루션이 작동하고 있는지 정확히 확신은 없지만, 설정 파일이 잘못되어 있었다는 것을 깨달았습니다.
DISCOURSE_SMTP_DOMAIN: celesto.graphics.com
해당 설정에서 도메인에 TLD가 두 개 포함되어 있었는데, .com은 불필요했습니다.
어쨌든 이제 이메일을 정상적으로 수신하고 있습니다.
Stephen
(Stephen)
7월 31, 2022, 6:16오후
10
이메일을 보내기 위한 아웃바운드 연결을 만들려면 포트 587의 인바운드 열기가 필요하지 않습니다.
Discourse는 기본적으로 메일 서버를 운영하지 않으므로, 해당 규칙을 생성하면 호스트에서 포트 587이 노출됩니다.
Rhod
(Rodolfo)
8월 1, 2022, 4:44오전
11
감사합니다. 말씀드린 것처럼 저는 전문가가 아니에요. 설명해 주셔서 정말 감사합니다.