호스팅 VPS에서 123-reg와 Discourse 연동 시 이메일이 작동하지 않음 - 다른 기능은 정상적으로

안녕하세요

디스커스를 관리자로서 처음 사용 중입니다. 이메일 설정을 하려는데 어떤 방법을 써도 실패합니다.

app.yml 파일을 편집한 후 ./launcher rebuild app 명령을 실행하고 있습니다.

다음과 같은 설정을 사용 중입니다:

discourse_smtp_address: "smtp.gmail.com"
discourse_smtp_port:587
discourse_smtp_domain: mydomainname.com
discourse_smtp_user_name = 'myemailaddress@gmail.com'
discourse_smtp_password = 'mypassword'
discourse_smtp_enable_start_tls = true
discourse_smtp_authentication = login

또는

DISCOURSE_SMTP_ADDRESS: smtp.123-reg.co.uk
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: myemail@mydomainname.co.uk
DISCOURSE_SMTP_AUTHENTICATION: YES
DISCOURSE_SMTP_PASSWORD: mypassword
DISCOURSE_SMTP_ENABLE_START_TLS: Yes

위 두 가지(그리고 수많은) 다른 변형도 모두 작동하지 않습니다.

./discourse-doctor 명령을 실행하면

net::readtimeout
또는
_c에 대해 알려진 명령이 없다는 오류가 발생합니다.

제 실수를 지적해 주시고 제 정신을 붙잡아 줄 분이 있을까요?

호스트에서 SMTP 서버로 telnet 접속은 가능합니다.

미리 감사드립니다

그리고 이메일도 성공적으로 보낼 수 있나요?

솔직히 아직 그 단계까지는 못 갔습니다.

지금은 이렇게 설정하고 있어요.

DISCOURSE_SMTP_ADDRESS: smtp.123-reg.co.uk
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: myemail@mydomain.co.uk
DISCOURSE_SMTP_AUTHENTICATION: YES
DISCOURSE_SMTP_PASSWORD: myPasswordwithCharacter#
DISCOURSE_SMTP_ENABLE_START_TLS: YES

이런 오류가 발생하고 있어요.

Net::SMTPAuthenticationError

같은 비밀번호로 웹메일에는 정상적으로 로그인할 수 있습니다.

네, 포트 25에서 telnet smtp가 작동합니다. 123-reg에서요.

앱을 재구성했습니다

이제 ./doctor-discourse에 다음이 있습니다

smtp.123-reg.co.uk:465, 사용자 이름:myemail@mydomain.co.uk, 인증: true를 사용하여 myemail@mydomain.co.uk로 전송을 테스트 중입니다.
======================================== 오류 ========================================
예상치 못한 오류

undefined method `to_sym’ for true:TrueClass
의도한 것은 to_s인가요?

그것은 버그일 수 있어 보이지만, 메일 전송 코드에 버그가 있을 가능성은 낮아 보입니다.

다른 시도해 볼 사항에 대해서는 새로운 Discourse 설치에서 이메일 문제 해결을 참고해 보세요. (discourse-doctor를 실행하지 않고 테스트하는 방법 등이 포함되어 있습니다.)

아, 여기 있습니다. smtp_validation의 값으로 "YES"는 유효하지 않습니다:

Must be plain, login, or cram_md5.

누군가 GitHub에서 찾으려면 app/services/email_settings_validator.rb 파일에 있습니다.