본문 바로가기

DEVELOPER/Programming

[SMTP] 메일 전송을 위한, Google Gmail SMTP 설정

안녕하세요😎 백엔드 개발자 제임스입니다 :)
최근에 스프링 부트로 웹을 개발하던 중 인증 메일 전송 기능을 구현하게 되었습니다. 항상 웹에서 회원가입을 진행할 때마다 받게 되는 인증 메일을 보면서, 구현 방법이 궁금했었습니다. 동시에 직접 구현해보고 싶다는 생각이 들었는데요. 이번에 기회가 되면서 자세하게 알 수 있었습니다. 오늘 포스팅과 다음 이어질 포스팅은 이메일 전송 기능을 구현한 방법에 대해서 정리하도록 하겠습니다. 
먼저 오늘은 메일 전송을 위한 SMTP와 Gmail SMTP 설정 방법을 알아보도록 하겠습니다.
 

SMTP 란?


SMTP(Simple Mail Transfer Protocol)단순 전자우편 전송 프로토콜 네트워크를 통해 전자우편(Email)을 전송하는 기술입니다. 해당 기술을 이용하면, 하드웨어나 소프트웨어와 관계없이 데이터를 교환할 수 있습니다. SMTP는 보안과 호환성의 문제가 있어 그대로 사용하지 않는 경우가 많습니다. 따라서 주로 확장하여 사용합니다. 이러한 확장 프로그램은 SMTP-AUTH(송신자 인증 서비스), ESMTP(SASL을 이용한 보안 연결), MIME(non-ascii 데이터 전송 포맷)이 있습니다.
SMTP는 메일 서버끼리 메일을 주고받거나, Gmail, Naver 와 같은 SMTP 서버에 메일 클라이언트가 연결을 맺고, 다른 서버에 메일을 보내는 방식으로 사용됩니다. 작동 방식을 간단하게 알아보겠습니다. 먼저 보내고자 하는 메일이 SMTP 서버로 전송됩니다. 이 SMTP 서버는 SendMail 프로그램을 구동하여 보내고자 했던 메일 주소로 메일을 보냅니다.

간단한 특징

  • 텍스트 기반 프로토콜
  • TCP 프로토콜 (25/tcp, 587/tcp 포트 주사용, SMPTS는 465/tcp 포트 사용)
SMTP에 대한 자세한 내용은 아래 링크를 참고해주세요.

 
https://www.cloudflare.com/ko-kr/learning/email-security/what-is-smtp/

 

Google Gmail SMTP 설정 방법



1) Gmail 설정 화면으로 이동

- 우측 상단에 톱니바퀴 아이콘을 클릭
- 빠른 설정 > 모든 설정 보기 클릭

2) 전달 및 POP/IMAP 탭에서 [IMAP 사용]으로 변경 후 저장

3) Google 계정 보안 설정 화면으로 이동

- 본인 계정 아이콘 > Google 계정 관리 클릭
- [보안] 탭으로 이동

4) Google에 로그인하는 방법 > [2단계 인증] 클릭

몇 가지 인증을 진행한 후, 2단계 인증 [사용] 버튼을 클릭

2단계 인증 사용 전


2단계 인증 사용 설정 이후

5) 다시 [2단계 인증] 클릭 후, 하단에 [앱 비밀번호] 클릭

[앱 비밀번호]가 이전 페이지에 있을 수도 있습니다.

6) [앱 선택] 칸에서 [기타(맞춤 이름)] 클릭

- 기기 이름을 원하는 대로 작성 
- [생성] 클릭

7) 자동 발급된 [앱 패스워드] 확인

아래 패스워드 이미지가 나오면, 설정이 끝났습니다.
* 박스 안에 비밀번호는 메일 발송 시 필요하기 때문에 저장해 두는 것이 좋습니다.

 

 
이번 포스팅에서는 SMTP와 Gmail SMTP를 설정하는 방법에 대해서 알아봤습니다. 지금까지 메일 전송 기능을 구현하기 위한 재료를 준비한 것입니다. 다음 포스팅에서는 Spring에서의 설정과 메일 전송 기능을 구현하는 방법에 대해서 정리하도록 하겠습니다.


연결된 포스팅

2023.03.23 - [DEVELOPER/Spring & JPA] - [스프링] 'JavaMailSender'를 통한 이메일 발송 기능 구현 (Gmail SMPT)

 

[스프링] 'JavaMailSender'를 통한 이메일 발송 기능 구현 (Gmail SMPT)

지난 포스팅 해당 포스팅에서는 Gmail SMPT를 활용합니다. 아직 Gmail SMPT 설정 방법을 모르신다면, 아래 게시글을 읽어주세요. 2023.03.21 - [DEVELOPER/Programming] - [SMTP] 메일 전송을 위한, Google Gmail SMTP 설

kang-james.tistory.com


참고 링크

추가로 위와 같이 진행한 방식의 Gmail SMTP 서버는 무료다 보니, 하루 전송할 수 있는 메일의 수가 한정되어 있습니다. 그렇게 때문에 운영서버에서 사용하기엔 어려움이 있습니다. 따라서 운영서버에서도 사용할 수 있는 메일 전송 사이트를 아래와 같이 공유합니다.

[SendGrid]

 

Email Delivery, API, Marketing Service

SendGrid delivers your transactional and marketing emails through the world's largest cloud-based email delivery platform. Send with confidence.

sendgrid.com

[Mailgun]

 

Transactional Email API Service For Developers | Mailgun

Powerful Transactional Email APIs that enable you to send, receive, and track emails, built with developers in mind. Learn more today!

www.mailgun.com

 

반응형