Spring Boot 메일 송신
Gmail을 사용하여 이메일을 보내 본다.
앱 비밀번호 생성
2 단계 인증을 사용하는 경우는 먼저 앱 비밀번호를 생성한다.
의존 jar를 얻는다.
Java Mail과 JavaBeans Activation Framework를 다운로드 해 온다.
의존 관계 추가
build.gradle
dependencies {
compile 'org.springframework.boot:spring-boot-starter'
+ compile 'org.springframework.boot:spring-boot-starter-mail'
+ compile fileTree(dir: 'libs', include: '*.jar')
}
폴더 구성
|-build.gradle
|-libs/
| |-activation.jar
| `-javax.mail.jar
`-src/
코드 작성
application.properties
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=<Gmail 계정>
spring.mail.password=<비밀번호>
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
※ 2 단계 인증을 사용하는 경우는 “응용 프로그램 비밀번호"를, 그렇지 않은 경우는 보통의 로그인 비밀번호를 설정한다.
Main.java
package sample.springboot;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
@SpringBootApplication
public class Main {
public static void main(String[] args) {
try (ConfigurableApplicationContext ctx = SpringApplication.run(Main.class, args)) {
ctx.getBean(Main.class).sendMail();
}
}
@Autowired
private MailSender sender;
public void sendMail() {
SimpleMailMessage msg = new SimpleMailMessage();
msg.setFrom("test@mail.com");
msg.setTo("대상 이메일 주소");
msg.setSubject("Send mail from Spring Boot");
msg.setText("Spring Boot에서 메일을 보낼 수 있다.");
this.sender.send(msg);
}
}
수신 결과 확인
해당 이메일 주소로 가서 수신 결과를 확인한다.
최종 수정 : 2017-12-17