inblog logo
|
Coding_study
    Spring

    [Tistory] Spring Boot - 이메일 인증 gmail 설정

    yuzu sim's avatar
    yuzu sim
    Sep 20, 2024
    [Tistory] Spring Boot - 이메일 인증 gmail 설정
    Contents
    1. 구글 이메일 설정2. SMTP 계정 설정 3. 'Google에 로그인 하는 방법' 섹션에서 2단계 인증 클릭.4. SMTP 설정

    1. 구글 이메일 설정

    구글 보안 수준이 낮은 앱의 엑세스 -> 테스트용 새로운 아이디를 만들었다 주의할점은 2단계 인증이 되어있으면 안됨 Google계정관리 - 보안 - 보안 수준이 낮은 앱의 엑세스 - 사용설정하기
    notion image
    💡
    해당 설정은 2022년 05월부터 막혔다.
    notion image
    💡
    이걸 써보자
     

    2. SMTP 계정 설정

    • 로그인 후 좌측 보안 탭으로 들어가서 스크롤을 내려서 보안 클릭
    • 'Google에 로그인'에서 2단계 인증  시작하기를 선택
    notion image
    notion image

    3. 'Google에 로그인 하는 방법' 섹션에서 2단계 인증 클릭.

    • 2단계 인증 설정이 되어있지 않다면 설정해주자.
    • 설정 후 2단계 인증을 다시 클릭하면, 여러 섹션이 뜬다.
     
    notion image
    notion image
     
    2단계 인증을 거친다면 16자리 앱 비밀번호를 알려준다. 꼭 따로 저장해야함.
    → 이 비밀번호가 gmail 비밀번호 대신 사용하게 될 비밀번호에요!!
     

    4. SMTP 설정

    우선 SMTP을 사용할 계정 설정을 해줘야 해요. 저는 구글을 활용했어요.
    • 우선 SMTP을 사용할 계정 설정을 해줘야 해요. 저는 구글을 활용했어요.
    • 구글 로그인 → 구글 계정 관리 → 검색창에 “앱 비밀번호” 검색
      • 안되길래 검색해보니 최하단 쪽에 '앱 비밀번호' 섹션에서 클릭해라 뭐 검색해라 등등 있지만 다 해봐도 눈 씻고 찾아봐도 없어서 검색창에 앱 비밀번호 쳤는데 없어서 app치니까 뜸 .. 휴 ㅜㅜ
    (❗️만약 앱 비밀번호가 나오지 않는다면? 2단계 인증을 해야 하니 위의 과정을 거치고 오면 됨!!)
     
    notion image
     
    notion image
    💡
    이 상태에서 멈춘 다음에 서버로 ㄱㄱ
     

    5. Build.gradle - 의존성 추가

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

    6. yml - gmail 설정

    spring: mail: host: smtp.gmail.com port: 587 username: compilemate2@gmail.com (새로 만든 내 구글 아이디 작성) password: 비밀번호 (앱 비밀번호에서 생성) properties: mail: smtp: starttls: enable: true required: true auth: true
    이메일 설정에는 두 가지 방식이 있어요.
    1. Config 파일을 만들어서 설정하기
    1. application.yml 을 활용하여 외부 구성을 설정하기
    그 이유는 다음과 같아요. (하지만 yml 파일 하나로 퉁침)
    1. 외부 구성 분리: 설정을 외부 파일에 저장하면 애플리케이션의 설정을 프로그램 코드와 분리할 수 있습니다. 이것은 설정을 변경할 때 애플리케이션을 다시 컴파일하거나 다시 빌드할 필요 없이 설정을 업데이트할 수 있는 유연성을 제공합니다.
    1. 설정 관리 도구 통합: 외부 설정 파일을 사용하면 설정 관리 도구와의 통합이 쉬워집니다. 예를 들어, 환경변수 또는 구성 서버를 통해 설정을 관리하고 주입하는 것이 가능하며, 이것은 설정을 중앙에서 관리하고 변경 사항을 추적하기에 용이합니다.
    1. 가독성: YAML 또는 Properties 파일 형식은 사람이 읽기에 좀 더 가독성이 높습니다. 이것은 설정을 쉽게 검토하고 이해할 수 있게 해줍니다.
    또한, 보안에 민감한 부분도 포함되어 있기에 yml 파일도 나누어서 관리했어요.
     

    7. 이제 앱 비밀번호를 만들자

    notion image
    notion image
    notion image

    8. IMAP 엑세스 하기

    • 구글 Gmail → 설정 → 전달 및 POP/IMAP → 아래 이미지처럼 설정 → 변경사항 저장 클릭
    notion image
     
    notion image
     
    Share article

    Coding_study

    RSS·Powered by Inblog