Spring boot : 메일 인증 기능 구현하기 (1)

이민호·2024년 6월 10일
0

spring boot 프로젝트 중 회원가입 절차에 메일이 유효한지, 인증 절차를 추가하려고 한다.
그러려면 서버에서 메일을 발송해야 하는 방법이 필요.
방법 중 하나인 Gmail에서 제공하는 SMTP를 이용하려고 한다.

Gmail SMTP 설정

G메일에서 우측상단 톱니바퀴를 누르고, [ 모든 설정 보기 ] 버튼을 눌러줍니다.

전달 및 POP/IMAP 탭을 살펴보고 아래 사항을 확인해둡시다.

  • SMTP를 이용하려면, IMAP사용이 체크 되어 있어야 합니다. IMAP(Internet Message Access Protocol)은 메일을 읽어오는 클라이언트/서버 프로토콜인데, "발송" 기능과 관련이 있을까 싶긴 했는데, 아무튼 사용으로 체크해둡니다.

    그러면, 아래처럼 상태: IMAP를 사용할 수 있습니다.로 표시됩니다.
     
    구글 계정으로 들어갑니다.(SMTP 사용을 위한 인증을 진행해줘야 합니다.)

왼쪽 [보안] 메뉴를 선택하고, 2단계 인증을 진행해줘야 합니다.
저는 휴대폰을 이용해서 2단계 인증을 진행했습니다. 그리고 2단계 인증 메뉴를 선택하고 하위로 들어가보면,

하단에, "앱 비밀번호"라는 게 있습니다. 당장 클릭!

대충 MY-SMTP 정도로 이름을 지어서 [생성] 버튼을 클릭해주도록 합니다.

아래처럼, '기기용 앱 비밀번호'가 생성되는데, 잘 메모해두도록 합니다.
이 기기용 앱 비밀번호가 G메일 SMTP를 이용해서 메일링을 할 때 계정에 로그인하는 pw가 됩니다.

아래와 같이 MY-SMTP 라는 이름의 App이 생성되었습니다.

그리고 SMTP 발송에 필요한 정보들을 변수에 담아, 코딩해서 활용하시면 되지 않을까 싶습니다.

# GMAIL SMTP
spring.mail.host = smtp.gmail.com
spring.mail.port = 587
spring.mail.username = ${SMTP_USER}
spring.mail.password = ${SMTP_PASSWORD}
spring.mail.properties.mail.smtp.auth = true
spring.mail.properties.mail.smtp.starttls.enable = true
profile
둘뺌

0개의 댓글