네.
하지만 어쨌든, 그건 작동했을 것입니다. 아무것도 건드리지 않아도, STARTTLS는 서버가 이를 제공할 경우에만 사용되었을 것입니다.
STARTTLS를 명시적으로 비활성화해야 했던 유일한 상황은 다음과 같았습니다:
- 서버가 STARTTLS를 제공하며
- STARTTLS를 사용하지 않고 전송한 메일은 성공하고
- STARTTLS를 사용하여 전송한 메일은 실패하는 경우
네.
하지만 어쨌든, 그건 작동했을 것입니다. 아무것도 건드리지 않아도, STARTTLS는 서버가 이를 제공할 경우에만 사용되었을 것입니다.
STARTTLS를 명시적으로 비활성화해야 했던 유일한 상황은 다음과 같았습니다:
대부분에게서 그럴 가능성이 높습니다.
저희의 경우, 내부 시스템에서 나가는 이메일에는 STARTTLS를 사용하지 않는 오래된 이메일 솔루션에 실제로 의존하고 있습니다(이것은 체인 후반부에서 처리됩니다). 또한 문서에서 DISCOURSE_SMTP_ENABLE_START_TLS가 선택 사항이지만 기본값은 true라고 명시되어 있어, 저희는 의도적으로 이 값을 false로 설정했습니다.
이 조언을 무시할 수는 있지만, 다시 반복해서 표시되다 보니 다른 관리자들은 저희 설정에 문제가 있는 것이 아닌가 하고 의아해합니다(문제는 없습니다. 테스트 메일이 정상적으로 작동합니다!). 이 조언이 이렇게 지속적으로 표시되는 것이 의도된 것인가요?
DISCOURSE_SMTP_ENABLE_START_TLS는 서버가 STARTTLS를 지원하는 경우에만 STARTTLS를 사용합니다. 메일 서버가 STARTTLS를 지원하지 않으면 해당 기능이 사용되지 않습니다.
(이를 기회적 TLS(opportunistic TLS)라고 합니다)
경고 메시지를 추가한 이유는, 제 변경 사항 이전에는 DISCOURSE_SMTP_ENABLE_START_TLS를 false로 설정해도 실제로 STARTTLS가 비활성화되지 않았기 때문입니다.
이 기능의 작동 방식을 모른 채 변수들을 이것저것 바꿔가며 마침내 원하는 결과를 얻어냈고, 설치가 STARTTLS를 요구함에도 불구하고 DISCOURSE_SMTP_ENABLE_START_TLS=false 설정을 그대로 남겨둔 관리자 중 일부가 있을 것이라고 예상했습니다. 이 경고 메시지는 주로 그러한 사람들을 위해 작성되었습니다.
맞습니다! 방금 테스트해 보았는데, 해당 설정이 제거된 후에도 출력이메일이 여전히 정상 작동하는 것을 확인했습니다. ![]()