-
Spring Boot | 메일 발송하기 (Google SMTP)▼ Backend/스프링 (Spring) 2021. 6. 1. 11:09반응형
▶ 스프링부트 메일 발송하기 (Google SMTP)
1. Google 홈페이지 → Google 계정 관리(우측상단)
2. 보안 → 앱 비밀번호
앱 비밀번호는 위에 2단계 인증을 해야 생성됩니다.3. 메일 → Windows 컴퓨터 선택
4. 생성된 앱 비밀번호를 메모해둔다. (smtp 설정에 사용될 예정)
5. 빠른 설정(우측상단 톱니바퀴) → 모든 설정 보기
6. 전달 및 POP/IMAP(탭) → 모든 메일에 POP 사용하기 → IMAP 사용 → 변경사항 저장
7. pom.xml
spring-boot-starter-mail 추가<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
8. SMTP 설정 - application.properties
# spring-boot를 사용하면 JavaMailSender Bean을 생성할 필요 없이, # 자동으로 생성이 된다. 그렇기 때문에 properties에 smtp설정만 해주면 된다. # 일반적인 spring을 사용한다면 JavaMailSender bean을 생성하여, # bean에서 smtp 값들을 설정을 해줘야 한다. spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=sample.gmail.com # 앱 비밀번호를 발급 받은 구글 아이디 spring.mail.password=생성한 앱 비밀번호 spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.auth=true
9. MailService.java
import java.util.ArrayList; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Service; @Service public class MailService { @Autowired private JavaMailSender javaMailSender; public void sendMail() { // 수신 대상을 담을 ArrayList 생성 ArrayList<String> toUserList = new ArrayList<>(); // 수신 대상 추가 toUserList.add("수신대상1@gmail.com"); toUserList.add("수신대상2@naver.com"); // 수신 대상 개수 int toUserSize = toUserList.size(); // SimpleMailMessage (단순 텍스트 구성 메일 메시지 생성할 때 이용) SimpleMailMessage simpleMessage = new SimpleMailMessage(); // 수신자 설정 simpleMessage.setTo((String[]) toUserList.toArray(new String[toUserSize])); // 메일 제목 simpleMessage.setSubject("Subject Sample"); // 메일 내용 simpleMessage.setText("Text Sample"); // 메일 발송 javaMailSender.send(simpleMessage); } }
발송 결과
MailService Download
MailService.java0.00MB반응형'▼ Backend > 스프링 (Spring)' 카테고리의 다른 글
Spring Boot | 내장 톰캣 실행 시 Path with "WEB-INF" or "META-INF" (1) 2021.07.07 Spring Boot | Tiles (타일즈) 적용하기 (0) 2021.06.30 Spring Boot | Scheduler 설정하기 (0) 2021.05.17 Spring-loaded 적용하기 (0) 2021.05.14 Spring Boot | 콘솔 쿼리 로그 출력 (0) 2021.02.10