반응형

Gmail SMTP 사용 방법

이 글에서는 Gmail 계정을 이용해 SMTP로 메일을 발송하는 방법을 상세히 정리합니다.
Spring Boot, Node.js 등 어떤 환경에서도 적용할 수 있도록 준비했습니다.


✅ Gmail SMTP란?

Gmail SMTP 서버를 사용하면, Gmail 계정을 통해 외부 애플리케이션에서 이메일을 전송할 수 있습니다.
개인 프로젝트부터 상용 서비스 초기 테스트까지 다양하게 활용할 수 있습니다.


✅ Gmail SMTP 사용 준비 단계

1. Gmail 계정 준비

  • 메일 발송에 사용할 Gmail 계정을 준비합니다.
  • 기존 계정을 사용해도 무방합니다.


2. 2단계 인증(2FA) 활성화

Gmail은 보안 강화를 위해, 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 서버 테스트 방법

  1. redis-server처럼, redis-cli와 유사하게 별도의 서버 구동 없이 바로 사용할 수 있습니다.
  2. 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 서비스 도입을 고려하는 것이 좋습니다.

이 글을 참고하여 여러분의 프로젝트에 메일 발송 기능을 쉽고 빠르게 추가해보세요!


📌 참고 링크


+ Recent posts