Today
-
Yesterday
-
Total
-

ABOUT ME

-

  • 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.java
    0.00MB

    반응형

    댓글

Designed by Tistory.