고맙습니다. 작동은 했는데, 잘못된 부분을 수정한 것 같습니다. 여전히 Job exception: Connection Reset by peer라는 메시지가 나옵니다.
어디를 봐야 이 문제를 해결할 수 있는지 전혀 감이 잡히지 않습니다. DigitalOcean을 사용하고 있으며 포트 587로 메일을 전송하고 있습니다. Mailjet에서는 평문 인증(plain auth)으로 설정해야 한다고 해서 다시 그렇게 변경했습니다. TLS는 선택 사항이라고 하지만, TLS를 켜고 끄고 두 가지 모두 시도해 보았지만 결과는 마찬가지였습니다. 이제 뭘 바꿔야 할지 정말 모르겠습니다. 비밀번호를 따옴표로 감싸고 안 감싸고, 두 가지 모두 시도해 보았고, 사용자 이름과 비밀번호도 다시 확인했습니다.
DISCOURSE_DEVELOPER_EMAILS: 'user@email.com'
## TODO: The SMTP mail server used to validate new accounts and send notifications
# SMTP ADDRESS, username, and password are required
# WARNING the char '#' in SMTP password can cause problems!
DISCOURSE_SMTP_ADDRESS: in-v3.mailjet.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: uname
DISCOURSE_SMTP_PASSWORD: pwd
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_DOMAIN: radstarter.io
DISCOURSE_NOTIFICATION_EMAIL: noreply@radstarter.io
## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate
LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
telnet in-v3.mailjet.com 587 명령이 연결되는지 또는 시간 초과가 발생하는지 확인해 볼 수 있습니다. 시간 초과가 발생하면 발신 포트가 차단되어 있음을 의미하므로, 다른 포트(2525가 Mailjet에서 작동할 수 있지만, 확신은 없습니다)를 사용하거나 Digital Ocean에 해당 포트 차단을 해제해 달라고 요청해야 합니다.
방화벽이 개입되어 있다면, 해당 연결된 줄은 오해를 불러일으킬 수 있습니다. 해당 도메인(in-v3.은 in.의 별칭입니다)을 시도할 때 무언가에 성공적으로 연결되었다고 보고할 수 있지만, 그 무언가가 방화벽일 수 있으며, 방화벽이 연결을 닫는 것입니다.
시도해 볼 수 있는 또 다른 방법은 telnet smtp-relay.gmail.com 587입니다. 만약 동일한 방식으로 실패한다면, Digital Ocean 서버에서 포트가 차단되었을 가능성이 높다고 생각합니다. 이는 서버 외부의 방화벽이거나 서버에서 실행 중인 방화벽 소프트웨어일 수 있습니다.
전자의 경우, 계정 관리 패널 어딘가에서 이를 제어할 수 있거나, 해당 업체에 문의해야 할 수 있습니다. 후자의 경우, 아마도 iptables일 것입니다. 다음 명령을 사용하여 해당 여부를 확인하고, 출방향 연결에 적용되는 규칙을 나열할 수 있습니다.
-P OUTPUT ACCEPT
-A OUTPUT -j ufw-before-logging-output
-A OUTPUT -j ufw-before-output
-A OUTPUT -j ufw-after-output
-A OUTPUT -j ufw-after-logging-output
-A OUTPUT -j ufw-reject-output
-A OUTPUT -j ufw-track-output