Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- src/main/java
- 정수 자료형
- 스프링 jsp
- sql 테이블명 바꾸기
- 스프링 jsp 연결
- video tag
- selection does not contain a main type
- 스프링부트 마이바티스
- SpringBoot Mybatis
- 비디오 태그 썸네일
- 정신차리고공부하자 #개발자되기 #몰입하자
- HTML
- Failed to configure a DataSource
- 자바 #Java #Scanner #스캐너 #자바알파벳입력
- spring jsp
- MySQL 테이블명 바꾸기
- 스프링부트 오류
- html input
- 순위정렬
- jsp 연결
- 자바
- html video thumbnail
- 자바 순위정렬
- 랭킹정렬
- 비디오 태그 이미지
- 스프링부트
- 자바마스터
- 자바정렬
- 스프링부트 jsp 연결
- @PathVariable
Archives
- Today
- Total
쌤리
[Spring Boot] 이메일 발송 본문
- 메일 발송을 위해서 아래 두 가지 dependency 를 추가해야한다.
<!-- 메일 보내기 위한 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<!-- 메일 보내기 위한 -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
- spring-context-support
- spring-context-support provides support for integrating common third-party libraries into a Spring application context for caching (EhCache, Guava, JCache), mailing (JavaMail), scheduling (CommonJ, Quartz) and template engines (FreeMarker, JasperReports, Velocity).
출처: https://docs.spring.io/spring/docs/4.3.12.RELEASE/spring-framework-reference/html/overview.html
- spring-context-support provides support for integrating common third-party libraries into a Spring application context for caching (EhCache, Guava, JCache), mailing (JavaMail), scheduling (CommonJ, Quartz) and template engines (FreeMarker, JasperReports, Velocity).
- application 에 아래와 같이 정보 추가
- custom 에 아래 처럼 정보를 넣어놓고, ..
- @Value 어노테이션을 이용해서 application.yml 에 있는 정보를 아래 에서 사용 가능해진다
- 소스코드
- MailHandler 클래스를 선언해주고 아래와 같이 작성
package com.sbs.sbl.mp.service;
import java.io.UnsupportedEncodingException;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import com.sbs.sbl.mp.dto.ResultData;
@Service
public class MailService {
@Autowired
private JavaMailSender sender;
@Value("${custom.emailFrom}")
private String emailFrom;
@Value("${custom.emailFromName}")
private String emailFromName;
private static class MailHandler {
private JavaMailSender sender;
private MimeMessage message;
private MimeMessageHelper messageHelper;
public MailHandler(JavaMailSender sender) throws MessagingException {
this.sender = sender;
this.message = this.sender.createMimeMessage();
this.messageHelper = new MimeMessageHelper(message, true, "UTF-8");
}
public void setFrom(String mail, String name) throws UnsupportedEncodingException, MessagingException {
messageHelper.setFrom(mail, name);
}
public void setTo(String mail) throws MessagingException {
messageHelper.setTo(mail);
}
public void setSubject(String subject) throws MessagingException {
messageHelper.setSubject(subject);
}
public void setText(String text) throws MessagingException {
messageHelper.setText(text, true);
}
public void send() {
try {
sender.send(message);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public ResultData send(String email, String title, String body) {
MailHandler mail;
try {
mail = new MailHandler(sender);
mail.setFrom(emailFrom.replaceAll(" ", ""), emailFromName);
mail.setTo(email);
mail.setSubject(title);
mail.setText(body);
mail.send();
} catch (Exception e) {
e.printStackTrace();
return new ResultData("F-1", "메일이 실패하였습니다.");
}
return new ResultData("S-1", "메일이 발송되었습니다.");
}
}
회원가입 시 환영 메일을 발송할꺼기 때문에 MemberService 에서 메서드를 만들어준다
private void sendWelcomeMail(String email) {
String title = String.format("[%s] 회원이 되신 것을 환영합니다.", siteName);
StringBuilder body = new StringBuilder();
body.append("<h1>가입이 완료되었습니다.</h1>");
body.append(String.format("<p><a href=\"%s\" target=\"_blank\">%s</a>로 이동</p>", siteMainUri, siteName));
mailService.send(email, title, body.toString());
}
끝.
'자바 JAVA > Spring | 스프링' 카테고리의 다른 글
[STS 오류] selection does not contain a main type (0) | 2020.08.25 |
---|---|
[Spring Boot] @PathVariable ? (0) | 2020.08.25 |
[Spring Boot] MyBatis, 마이바티스 설정 (0) | 2020.08.19 |
[Spring Boot] 오류: "Failed to configure a DataSource: ‘url’ attribute is not..." (0) | 2020.08.18 |
[Spring] Spring Annotation / 스프링 어노테이션 정리 (0) | 2020.08.18 |
Comments