프로그래밍 일기/Java & Spring

[에러해결] javax.mail.MessagingException: Could not connect to SMTP host: smtp.worksmobile.com, port: 465, response: -1 (isSSL true 설정)

MakeMe 2023. 7. 18. 15:12
반응형
버전 정보

스프링 레거시 3.2.9.RELEASE

자바 1.8

javax.mail 1.6.2

maven 프로젝트

 

원인

다양한 원인이 있을 수 있다.

1. 잘못된 포트 번호

2. 잘못된 host

3. context-smtpMail.xml 잘못된 설정

4. javax.mail의 버전 호환 문제

저는 4번에 해당하였습니다.

 

해결방법

context.smtpMail.xml

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
   <property name="host" value="${Globals.Mail.Host}"/>
   <property name="port" value="${Globals.Mail.Port}"/>
   <property name="username" value="${Globals.Mail.UserName}"/>
   <property name="password" value="${Globals.Mail.Password}"/>
   <property name="protocol" value="${Globals.Mail.Protocol}"/>
   <property name="defaultEncoding" value="${Globals.Mail.Encoding}"/>
   <property name="javaMailProperties">
      <props>
         <prop key="mail.smtp.starttls.enable">true</prop>
         <prop key="mail.smtp.auth">true</prop>
         <prop key="mail.debug">true</prop>
         <prop key="mail.smtp.ssl.enable">true</prop>
         <prop key="mail.smtp.ssl.trust">${Globals.Mail.Host}</prop>
         <prop key="mail.smtp.port">465</prop> <!-- SSL 포트 설정 -->
      </props>
   </property>
</bean>

위 context파일이 문제가 없는지 확인합니다.

<!-- Java Mail API -->
 <dependency>
     <groupId>javax.mail</groupId>
     <artifactId>mail</artifactId>
     <version>1.6.2</version>
 </dependency>

pom.xml에 위와 같이 입력합니다.

만약 여기서 version 부분에 빨간 에러가 발생할 경우 메이븐 캐시를 날려주거나

https://mvnrepository.com/artifact/com.sun.mail/javax.mail/1.6.2

 

위 url로 접속하여 직접 다운로드 받아

해당 경로에 넣어줍니다.

반응형