Email 발송 관련 문의드립니다.
- 작성자 :
- J***g
- 작성일 :
- 2024-10-23 23:55:51
- 조회수 :
- 150
- 구분 :
- 개발환경 / 4.2
- 진행상태 :
- 완료
Q
안녕하세요.
3.9버전까지는 commons-email-1.3.2 라이브러리를 통해
HtmlEmail 을 통하여 메일 발송을 문제없이 진행하였었습니다.
4.2버전으로 업그레이드 진행후 commons-email 1.5 라이브러리를 사용하였을때 발송이 되지 않고 있습니다.
혹여 변경이 진행되면서 따로 설정해야하는부분이 있는지 궁금합니다.
에러로그로는 발송 시도 하는경우 시간이 쫌 지난 후 Read timed out 이 발생합니다.
org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:587
~~~~~~
~~~~~~
~~~~~~
Caused by: javax.mail.MessagingException: Exception reading response;
nested exception is:
java.net.SocketTimeoutException: Read timed out
at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2369)
at com.sun.mail.smtp.SMTPTransport.close(SMTPTransport.java:1353)
at javax.mail.Transport.send0(Transport.java:257)
at javax.mail.Transport.send(Transport.java:124)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1459)
... 136 more
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
HtmlEmail email = new HtmlEmail();
email.setCharset("UTF-8");
email.setHostName("smtp.gmail.com");
email.setSmtpPort(587);
email.setAuthenticator(new DefaultAuthenticator("a************m", "비밀번호"));
email.setStartTLSEnabled(true);
email.getMailSession().getProperties().put("mail.smtp.ssl.protocols", "TLSv1.2");
email.setFrom(sender);
email.addTo(receiver_email);
email.setSubject("제목입니다.");
String htmlMessage = "대략 메시지 내용입니다."
email.setContent(htmlMessage, "text/html");
email.send();
사용중인 소스코드도 작성하여 드립니다.
3.9버전까지는 commons-email-1.3.2 라이브러리를 통해
HtmlEmail 을 통하여 메일 발송을 문제없이 진행하였었습니다.
4.2버전으로 업그레이드 진행후 commons-email 1.5 라이브러리를 사용하였을때 발송이 되지 않고 있습니다.
혹여 변경이 진행되면서 따로 설정해야하는부분이 있는지 궁금합니다.
에러로그로는 발송 시도 하는경우 시간이 쫌 지난 후 Read timed out 이 발생합니다.
org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:587
~~~~~~
~~~~~~
~~~~~~
Caused by: javax.mail.MessagingException: Exception reading response;
nested exception is:
java.net.SocketTimeoutException: Read timed out
at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:2369)
at com.sun.mail.smtp.SMTPTransport.close(SMTPTransport.java:1353)
at javax.mail.Transport.send0(Transport.java:257)
at javax.mail.Transport.send(Transport.java:124)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1459)
... 136 more
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
HtmlEmail email = new HtmlEmail();
email.setCharset("UTF-8");
email.setHostName("smtp.gmail.com");
email.setSmtpPort(587);
email.setAuthenticator(new DefaultAuthenticator("a************m", "비밀번호"));
email.setStartTLSEnabled(true);
email.getMailSession().getProperties().put("mail.smtp.ssl.protocols", "TLSv1.2");
email.setFrom(sender);
email.addTo(receiver_email);
email.setSubject("제목입니다.");
String htmlMessage = "대략 메시지 내용입니다."
email.setContent(htmlMessage, "text/html");
email.send();
사용중인 소스코드도 작성하여 드립니다.
환경정보
-
- OS 정보 : Window
- 표준프레임워크 버전 : 4.2
- JDK(JRE) 정보 : 1.8
- WAS 정보 : tomcat
- DB 정보 : mysql
- 기타 환경 정보 : intellij
A
안녕하세요
표준프레임워크센터입니다.
확인 결과 Window에서 질문자님과 동일한 현상을 발견했고,
commons-email을 1.5에서 1.6.0으로 버전업을 한 후 해당 문제점이 해결되었습니다.
다음과 같이 pom.xml dependency에 commons-email 버전을 수정 부탁드립니다.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.6.0</version>
</dependency>
감사합니다.
표준프레임워크센터입니다.
확인 결과 Window에서 질문자님과 동일한 현상을 발견했고,
commons-email을 1.5에서 1.6.0으로 버전업을 한 후 해당 문제점이 해결되었습니다.
다음과 같이 pom.xml dependency에 commons-email 버전을 수정 부탁드립니다.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.6.0</version>
</dependency>
감사합니다.