▼ Backend/스프링 (Spring)
Spring Boot | 메일 발송하기 (Google SMTP)
Valar
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
반응형