SMTP란?
간이 우편 전송 프로토콜(Simple Mail Transfer Protocol)의 약자. 이메일 전송에 사용되는 네트워크 프로토콜이다.
인터넷에서 메일 전송에 사용되는 표준입니다.
SMTP는 이메일 전송을 위한 표준 프로토콜로, 거의 모든 이메일 시스템과 서버에서 지원된다. 이를 통해 다양한 이메일 클라이언트와 서버 간의 호환성을 보장한다/
또한 Spring Boot의 JavaMailSender를 통해 SMTP 서버와의 통합이 용이하며, 이메일 전송 기능을 빠르게 구축할 수 있다.
그래서 회원가입 진행 시 이메일 인증을 진행하기 위해 Google SMTP를 사용하기로했다.
Google SMTP 설정
Google 홈페이지 -> Google 계정 관리 (우측 상단)
보안 -> 앱 비밀번호
앱 비밀번호는 2단계 인증 후 사용가능
검색 부분에 앱 비밀번호 검색하면 찾을수 있음
생성된 앱 비밀번호 메모해두기!
smtp설정 시 시용할 거니 기억해 두자!
google 설정 화면이동
설정 버튼(톱니바퀴) 클릭 -> 모든 설정보기 보튼 클릭
IMAP엑세스 상태를 [IMAP 사용]으로 수정
전달 및 POP/IAMP(탭) -> IMAP 사용 -> 저장
스프링 설정
의존성 추가 - gradle
implementation 'org.springframework.boot:spring-boot-starter-mail'
application.properties 설정
Spring boot에서 사용하면 JavaMailSender Bean을 생성할 필요 없이 자동으로 생성된다고 한다. 그래서 properties에 설정만 해주면 된다고 한다!
spring.mail.host=smtp.gmail.com
spring.mail.port=465 or 578
spring.mail.username=[본인이 사용할 이메일]
spring.mail.password=[생성한 앱 비밀번호]
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
Google SMTP는 456 또는 578 포트 번호를 사용할 수 있다고 한다.
이렇게 설정하면 google SMTP를 사용할 준비가 끝났다.
Service에 로직을 작성하면 된다!
'프로젝트 > Springboot-MSA- PreOrder' 카테고리의 다른 글
[Project] Spring Batch란? (0) | 2024.08.18 |
---|---|
[Project] Service Discovery (0) | 2024.08.18 |
[Project] MSA란? (1) | 2024.08.18 |
[Project] 개인정보 양방향 AES 암호화 (0) | 2024.08.11 |
[Project] JWT인증 스프링 시큐리티 동작 (0) | 2024.08.11 |