반응형
Gmail SMTP 사용 방법
이 글에서는 Gmail 계정을 이용해 SMTP로 메일을 발송하는 방법을 상세히 정리합니다.
Spring Boot, Node.js 등 어떤 환경에서도 적용할 수 있도록 준비했습니다.
✅ Gmail SMTP란?
Gmail SMTP 서버를 사용하면, Gmail 계정을 통해 외부 애플리케이션에서 이메일을 전송할 수 있습니다.
개인 프로젝트부터 상용 서비스 초기 테스트까지 다양하게 활용할 수 있습니다.
✅ Gmail SMTP 사용 준비 단계
1. Gmail 계정 준비
- 메일 발송에 사용할 Gmail 계정을 준비합니다.
- 기존 계정을 사용해도 무방합니다.
✅
2. 2단계 인증(2FA) 활성화
Gmail은 보안 강화를 위해, 2단계 인증을 필수로 요구합니다.
- Google 계정 보안 설정 페이지로 이동합니다.
- "2단계 인증"을 활성화합니다.
✅
2단계 인증이 켜져 있어야 "앱 비밀번호"를 생성할 수 있습니다.
3. 앱 비밀번호(App Password) 생성
Gmail에서는 일반 비밀번호로 SMTP 로그인할 수 없습니다.
앱 비밀번호(App Password) 를 발급받아야 합니다.
- Google 계정 보안 설정 → 앱 비밀번호 메뉴로 이동합니다.
- "앱 선택" → 메일, "디바이스 선택" → 기타 → 원하는 이름 입력 후 생성합니다.
- 생성된 16자리 비밀번호를 복사합니다.
✅
⚡ 이 앱 비밀번호를 SMTP 로그인 비밀번호로 사용합니다.
✅ Gmail SMTP 서버 설정 정보
항목값
SMTP 서버 주소 | smtp.gmail.com |
포트 (TLS) | 587 |
포트 (SSL) | 465 |
사용자 이름 | Gmail 이메일 주소 |
비밀번호 | 발급받은 앱 비밀번호 |
인증 필요 여부 | YES |
✅ 예제 코드
Spring Boot (application.yml)
spring:
mail:
host: smtp.gmail.com
port: 587
username: your-email@gmail.com
password: your-app-password
properties:
mail:
smtp:
auth: true
starttls:
enable: true
spring: mail: host: smtp.gmail.com port: 587 username: your-email@gmail.com password: your-app-password properties: mail: smtp: auth: true starttls: enable: true
- TLS(587포트)를 사용하며, 인증과 StartTLS를 활성화합니다.
Node.js (Nodemailer)
import nodemailer from 'nodemailer';
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'your-email@gmail.com',
pass: 'your-app-password',
},
});
await transporter.sendMail({
from: 'your-email@gmail.com',
to: 'receiver@example.com',
subject: '테스트 메일',
text: '이메일 본문입니다.',
});
✅ SMTP 서버 테스트 방법
- redis-server처럼, redis-cli와 유사하게 별도의 서버 구동 없이 바로 사용할 수 있습니다.
- smtp.gmail.com을 통해 메일 발송을 시도하면 정상 작동합니다.
✅ 주의 사항
- 앱 비밀번호를 발급하지 않고 일반 비밀번호로 접속하면 에러가 발생합니다. (예: 535-5.7.8 Authentication Error)
- 일반 Gmail 계정은 하루 약 500건 정도의 발송 제한이 있습니다.
- 기업용 Google Workspace 계정은 별도 SMTP 서버 설정이 필요할 수 있습니다.
- 너무 많은 발송 시 스팸 처리될 수 있으니 테스트용 외에는 주의해야 합니다.
✅ 한눈에 요약
절차설명
Gmail 계정 준비 | 메일 발송용 Gmail |
2단계 인증 설정 | Google 보안 페이지에서 활성화 |
앱 비밀번호 발급 | 메일용 앱 비밀번호 생성 |
SMTP 서버 설정 | smtp.gmail.com, 포트 587/465, 인증 필요 |
메일 발송 | 발급받은 앱 비밀번호 사용 |
🎯 마치며
Gmail SMTP를 활용하면 별도의 SMTP 서버를 구축하지 않고도
빠르게 메일 발송 기능을 구현할 수 있습니다.
다만,
- 테스트용 / 소규모 프로젝트에는 충분히 유용하지만,
- 대규모 서비스에서는 Sendgrid, Mailgun, Brevo 같은 별도 SMTP 서비스 도입을 고려하는 것이 좋습니다.
이 글을 참고하여 여러분의 프로젝트에 메일 발송 기능을 쉽고 빠르게 추가해보세요!