안녕하세요 이번에는 스프링 프레임워크에서 간단하게 이메일 발송하는 방법에 대해 알아보도록 하겠습니다.
자 우선 네이버 이메일에서 SMTP 설정을 합니다.
순서에 맞게 클릭하시면 간단하게 설정이 가능합니다.
그리고 pom.xml로 갑니다
pom.xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.1</version>
</dependency>
위와 같이 2개의 라이브러리를 추가하면 됩니다.
${org.springframework-version} 요 부분에는 현재 사용하고 계시는 스프링 프레임워크 버전을 넣어주시면 됩니다.
자 그럼 컨트롤러에 가서 다음과 같이 작성하시면 됩니다.
@RequestMapping("/sendEmail.do")
public void sendEmail(HttpServletRequest request, HttpServletResponse response) throws Exception{
//메일 관련 정보
String host = "smtp.naver.com";
final String username = "*******"; //네이버 이메일 주소중 @ naver.com 앞주소만 작성
final String password = "*******"; //네이버 이메일 비밀번호를 작성
int port=465; //네이버 STMP 포트 번호
//메일 내용
String recipient = "*******@naver.com"; //메일을 발송할 이메일 주소를 기재해 줍니다.
String subject = "이메일 발송시 제목"; //메일 발송시 제목을 작성
String body = "이름: 홍길동입니다. \n\n"; //메일 발송시 내용 작성
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", port);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.trust", host);
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
String un=username;
String pw=password;
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(un, pw);
}
});
session.setDebug(true); //for debug
Message mimeMessage = new MimeMessage(session);
mimeMessage.setFrom(new InternetAddress("*******@naver.com"));
mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(recipient));
mimeMessage.setSubject(subject);
mimeMessage.setText(body);
Transport.send(mimeMessage);
}
자 그리고 테스트를 해봅니다.
해당 URL을 요청하면
MAIL FROM .. 하면서 로그가 뜨고 받는 사람의 이메일에 가보면 다음과 같이 이메일이 성공적으로 발송이 된것을 확인할수 있습니다.
이상입니다. 감사합니다.
'프로그래밍 > 스프링[Spring]' 카테고리의 다른 글
[스프링] log4J 처음 사용하기[xml 이용] (0) | 2019.06.18 |
---|---|
[스프링] 자바 날짜[Date] 비교하는 방법 (0) | 2019.06.03 |
[Spring] 스프링 SpEL를 이용한 프로퍼티 설정 (0) | 2019.05.03 |
[Spring] No adapter for handler 해결 하기[HTTP Status 500] (0) | 2019.05.02 |
[Spring] 스프링, 자바에서 String 공백 제거하기 (0) | 2019.05.02 |