javax.mail.messagingexception could not connect to smtp host port 465

2014. 2. 26. 13:52IT/Web-Java

프로젝트가 거의 마쳐가는 가운데 로컬에서 메일 관련 테스트를 마친 후 운영에 반영을 했는데


아래와 같은 에러가 발생하는 것이 아닌가.. 두둥?!


javax.mail.messagingexception could not connect to smtp host ...... 생략 port 465


뭐.. 기타등등 더 많은 내용들이 나왔었지만..


cause by를 봤더니 smtp서버쪽이 제대로 연결이 안되고 짤렸다고 한다.


옆에 선임님이 해결을 하시려고 이것저것 운영에서 메일 테스트를 열심히 해보시는데 테스트 페이지에서는 정상 발송이 


되는데 프로그램 속 오류는 계속 해결이 안되시는 것 같아서


약간의 구글링 및 이전의 기억들을 되짚어보니 메일 포트의 문제일 가능성이 농후한 것이 아닌가?


여기서 잠깐.. 우리는 25번 포트를 프로그램에다가 세팅을 하고 메일 테스트를 했었다... 


그런데 상기 오류와 같이 465번 관련 에러가 나는 것은... 중간에 포트가 변경되었다는 것을 의미하는 것이겠지..


그래서 소스를 검토를 해보니 이 부분이 가장 의심스러웠다.


1
2
3
4
5
 
...
email.setSSL(true); 
...
 


음.. SSL? 이것은!!! 그렇다. 기본 메일 포트는 25이지만, ssl설정으로 인해 자동으로 465번 포트를 찾아서 메일을 


전송하려는 것이었다. 하지만, 프로젝트 안에서 해당 smtp서버에 대한 우리의 포트는 25번만 열려 있기 때문에 


메일전송에 계속해서 실패했던 것이다.


이 부분을 주석처리하고 메일 전송을 수행하니 다행히 메일 전송 성공!!!


혹여나, 다른 분들도 저와 비슷한 케이스의 오류가 생기신다면 

1) SMTP 서버 인증 문제(ip, port, 계정 권한) 

2) SSL 체크 등을 해보시는 것도 오류해결에 도움이 될 것 같습니다.


아... 프로젝트 종료도 얼마 안남았는데.. 아니.. 종료 기일은 이미 지나서 계속해서 짐을 못 싸고 있는데.. 나가기 전까지 내가 코딩했던 부분이나 정리하고 싶다... 하지만, 왠지 일이 계속 생겨... 아아~ 빨리 나가고 싶어... ㅠㅠ