본문 바로가기
Chapter01/Sping boot

[ SMTP 메일 전송 ] Could not convert socket to TLS

by EmmaDev_v 2024. 10. 2.

 

SMTP 서버 정보를 받고, 이메일 전송 테스트를 진행했다. 

 

 

간단하게 컨트롤러만 만들어서  postman으로 날려봄

 

 

이런 상황이 발생했고, 이메일은 전송되지않음

도메인 접속에 실패하고 ping도 안가는 상황,,

 

 

??????왜그랴

 

는 이제 찾아보자

 

 

 

 

 

써칭해본결과

 

PKIX path building failed 관련에러

-> 서버의 인증서를 다운로드하여 키스토어에 추가해야한다? crt 파일을 만들어서 넣고 인증 어쩌구저쩌구 했으나 안됨

 

tls버전이 안맞는다?

-> 보안문제로 기존에 지원하던 TLS버전이 지원중단되서 TLS버전이 1.0이나 1.1로 사용되는 경우가있다는것을알게됨

 

port문제?

->  예전에 사용했던거나 보안문제 등 여러가지 상황에 따라 25, 465, 587, 2525 등이 사용됨. 표준은 587이맞음.

 

 

등등,,

 

GPT는 이상한 대답을 자꾸해주었고ㅜ

구글링했을 때 나처럼 

SMTP서버를 받은게아니라 gmail을 쓰는 경우들도 많았고, java 나 spring 버전이 나랑 같은 예시는 없어서

이것저것 검색해 따라해보다가 해결함 ㅋㅋ

 

 

 

잠시동안의 여러가지 삽질을 한 결과

 

 

 

 

 

해결한 방법

 

config에 아래 두 줄을 추가해줌

        props.put("mail.smtp.ssl.protocols", "TLSv1.2");
        props.put("mail.smtp.ssl.trust", "mail.w.hscmt.co.kr");

 

 

 

 

props.put("mail.smtp.ssl.protocols", "TLSv1.2");

: JavaMail이 TLS 1.2 프로토콜을 사용하도록 설정해 TLS 버전 문제가 있을 때 해결 방법이 될 수 있다해서 추가함.

 

props.put("mail.smtp.ssl.trust", "mail.w.st.co.kr");

: 특정 호스트에 대해 SSL 인증서 경고를 무시하고 연결을 허용하도록 설정하는 부분.

 

 

 

+ application.yml도 첨부합니다

 

 

반응형

'Chapter01 > Sping boot' 카테고리의 다른 글

[ Spring boot ] BCryptPasswordEncoder BCrypt 복호화  (3) 2024.10.28
[ Spring boot ] config.xml  (0) 2024.05.29
[ Spring Boot ] annotation  (3) 2024.03.20