ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring Boot - SMTP 메일 전송 ( Naver )
    SpringBoot/SMTP 메일전송 ( Naver ) 2021. 6. 15. 15:42

    SMTP Mail Service With Naver 네이버 메일 전송 방법!

     

    1. 네이버 환경설정 

    1.1 아래 사진에 표시되어있는 메일 -> 환경설정으로 들어갑니다.

    1.2 아래 사진에 표시된 POP/IMAP 설정으로 들어갑니다.

     

    1.3 아래 사진과 같이 POP3/SMTP 사용에 '사용함' 을 체크하시고 원하시는 설정값을 고른 뒤 저장합니다.

    2. SpringBoot에서의 사용을 위한 설정 

     

    2.1 Dependency 추가 

    Maven

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-mail</artifactId>
            </dependency>

    Gradle

    	implementation 'org.springframework.boot:spring-boot-starter-mail'
    

    2.2 mail 전송을 위한 yml 파일 작성

    application.yml

    spring:
      mail:
      // host, port는 naver에서 정해준 값
        host: smtp.naver.com 
        port: 465
        // 본인 naver 계정정보 삽입
        username: 이메일@naver.com
        password: 비밀번호
        //전송하기 위한 prop으로 ssl의 신뢰, 권한 등 사용허가
        properties:
          mail.smtp.auth: true
          mail.smtp.ssl.enable: true
          mail.smtp.ssl.trust: smtp.naver.com

    저는 Could not connect to SMTP host: smtp.naver.com, port: 465 등과 같은 오류가 발생했는데
    mail.smtp.ssl.trust: smtp.naver.com 이 코드를 작성한 뒤 오류가 해결됐습니다.

     

    3 Mail 전송 및 확인

    package com.example.demo;
    
    import lombok.RequiredArgsConstructor;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.boot.ApplicationArguments;
    import org.springframework.boot.ApplicationRunner;
    import org.springframework.mail.javamail.JavaMailSender;
    import org.springframework.mail.javamail.MimeMessageHelper;
    import org.springframework.stereotype.Component;
    
    import javax.mail.internet.MimeMessage;
    
    @Component
    @RequiredArgsConstructor
    public class MailSenderRunner implements ApplicationRunner {
    
        private final JavaMailSender mailSender;
    
        @Value("${spring.mail.username}")
        private String from;
    
        @Override
        public void run(ApplicationArguments args) throws Exception {
    
            MimeMessage m = mailSender.createMimeMessage();
            MimeMessageHelper h = new MimeMessageHelper(m,"UTF-8");
            h.setFrom(from (앞서 설정한 본인의 Naver Email));
            h.setTo("받는분의 Email");
            h.setSubject("테스트메일");
            h.setText("메일테스트");
            mailSender.send(m);
        }
    }

     

     

    코드를 모두 작성한 후 프로젝트를 실행시키면 메일이 발송되는 것을 아래와 같이 확인할 수 있습니다.

     

    메일 수신

     

     

     

     

     

    댓글

Designed by Tistory.