EgovMultiPartEmail 메일 발송 관련하여 문의드립니다.
- 작성자 :
- g****g
- 작성일 :
- 2023-11-24 11:15:25
- 조회수 :
- 1,061
- 구분 :
- 개발환경 / 2.7
- 진행상태 :
- 완료
Q
<bean id="egovMultiPartEmail" class="egovframework.com.cop.ems.service.EgovMultiPartEmail"
p:host="내부ip"
p:port="25"
p:id="계정id"
p:password="계정비밀번호"
p:senderName="발송자"
p:emailAddress="발송 이메일" />
context-mail.xml에서 위 처럼 설정하여 사용 중인데, 5~6월 쯤부터 메일 발송이 되지 않고 있습니다.
jeus와 oracle사용하는 서버 쪽에서는 아래와 같은 오류 발생하며,
ERROR [java.lang.Class] Sending Mail Exception : javax.mail.MessagingException: Could not convert socket to TLS;
nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target [unknown Exception]
org.apache.commons.mail.EmailException: Sending the email to the following server failed : 내부ip:25
로컬 서버(tomcat) 에서 naver는 위와 같은 오류, gmail은
Sending the email to the following server failed : smtp.gmail.com:465
위 오류가 발생합니다.
javax.mail.MessagingException: Could not convert socket to TLS; 오류 관련하여 찾아보니 인증서 문제라고 해서 찾아보니
<prop key="mail.smtp.ssl.trust">smtp.gmail.com</prop>
<prop key="mail.smtp.ssl.protocols">TLSv1.2</prop>
JavaMailSenderImpl은 위처럼 인증서 오류 무시하고 발송하는 방법이 있더라구요.
EgovMultiPartEmail도 인증서 오류 무시하는 방법이 있을까요..??
p:host="내부ip"
p:port="25"
p:id="계정id"
p:password="계정비밀번호"
p:senderName="발송자"
p:emailAddress="발송 이메일" />
context-mail.xml에서 위 처럼 설정하여 사용 중인데, 5~6월 쯤부터 메일 발송이 되지 않고 있습니다.
jeus와 oracle사용하는 서버 쪽에서는 아래와 같은 오류 발생하며,
ERROR [java.lang.Class] Sending Mail Exception : javax.mail.MessagingException: Could not convert socket to TLS;
nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target [unknown Exception]
org.apache.commons.mail.EmailException: Sending the email to the following server failed : 내부ip:25
로컬 서버(tomcat) 에서 naver는 위와 같은 오류, gmail은
Sending the email to the following server failed : smtp.gmail.com:465
위 오류가 발생합니다.
javax.mail.MessagingException: Could not convert socket to TLS; 오류 관련하여 찾아보니 인증서 문제라고 해서 찾아보니
<prop key="mail.smtp.ssl.trust">smtp.gmail.com</prop>
<prop key="mail.smtp.ssl.protocols">TLSv1.2</prop>
JavaMailSenderImpl은 위처럼 인증서 오류 무시하고 발송하는 방법이 있더라구요.
EgovMultiPartEmail도 인증서 오류 무시하는 방법이 있을까요..??
환경정보
-
- OS 정보 :
- 표준프레임워크 버전 :
- JDK(JRE) 정보 :
- WAS 정보 :
- DB 정보 :
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크 센터입니다.
EgovMultiPartEmail 설정에는
SSL 및 TLS 관련 설정이 없으나
apache.commons.mail의 Email 클래스를 확장 구현한
MultiPartEmail 클래스의 객체를
send() 메소드 내에서 활용하여
SSL과 TLS를 설정할 수 있습니다.
다음과 같이 SSL과 TLS를 설정하게 되면
setSSL(true);
setTLS(false);
정상적으로 메일이 전송되는 것이 확인 되었습니다.
개발에 참고해 주시기 바랍니다.
감사합니다.
표준프레임워크 센터입니다.
EgovMultiPartEmail 설정에는
SSL 및 TLS 관련 설정이 없으나
apache.commons.mail의 Email 클래스를 확장 구현한
MultiPartEmail 클래스의 객체를
send() 메소드 내에서 활용하여
SSL과 TLS를 설정할 수 있습니다.
다음과 같이 SSL과 TLS를 설정하게 되면
setSSL(true);
setTLS(false);
정상적으로 메일이 전송되는 것이 확인 되었습니다.
개발에 참고해 주시기 바랍니다.
감사합니다.