이메일 기능을 구현할 때 가장 중요한 요소 중 하나는 메일이 스팸함으로 가지 않고 정상적으로 수신되는 것이다. 특히 인증 메일, 비밀번호 재설정 메일과 같은 핵심 기능에서는 전달률이 서비스 신뢰도에 직결된다.
이 글에서는 AWS SES와 Gmail SMTP를 기준으로 메일 발송 신뢰도를 어떻게 확보하는지 정리한다.
사실 메일이 스팸함으로 가는 이유는 단순하다. 이 메일이 신뢰할 수 있는 발신자인지 확신할 수 없기 때문이다.
이 신뢰도를 보장하는 핵심 기술이 바로 아래 3가지이다.
이메일 인증 3종 세트
1️⃣ SPF (Sender Policy Framework)
- 해당 도메인에서 메일을 보낼 수 있는 서버를 정의하는 인증 방식이다
- “이 서버가 진짜 이 도메인의 발신 서버인가?”를 검증한다
2️⃣ DKIM (DomainKeys Identified Mail)
- 메일에 디지털 서명을 추가하는 방식이다
- 메일이 전송 중 변조되지 않았는지를 검증한다
3️⃣ DMARC (Domain-based Message Authentication)
- SPF / DKIM 검증 결과를 기반으로 정책을 적용한다
- 예: reject / quarantine / none
이 3가지를 모두 통과해야 메일 서비스(Gmail, Outlook 등)가 정상 메일로 판단한다
1) AWS SES를 사용할 경우

Amazon SES는 대량 메일 발송을 위한 대표적인 서비스이다.
하지만 SES를 “제대로” 사용하려면 조건이 있다.
✔️ 필수 조건
- 도메인 소유
- DNS 설정 권한
✔️ 이유
SES는 도메인 기반 인증을 사용하기 때문이다.
noreply@quiket.com
이런 형태로 메일을 보내려면
- 1️⃣ SPF 설정
- 2️⃣ DKIM 설정
- 3️⃣ DMARC 설정
이 3가지를 반드시 구성해야 한다
(참고)
사실 SES는 이메일 단위 인증도 가능하다. 하지만 이 경우에는 DKIM 적용 불완전, SPF 정합성 부족으로 인해 스팸 필터 통과율이 낮다...
👉 따라서 실무에서는 도메인 기반 인증이 사실상 필수이다
2) Gmail SMTP를 사용할 경우

그런데 Gmail SMTP를 사용하는 경우는 다르다.
그냥 이미 기존 Gmail 주소를 그대로 쓰는 경우에는 초간단하다
✔️ Gmail 주소 그대로 사용하는 경우
From: yourname@gmail.com
SPF / DKIM / DMARC 설정 필요 없음 (Google이 이미 내부적으로 처리한다)
하지만 아래와 같은 커스텀 도메인을 사용하는 순간?
From: noreply@myservice.com
- SPF 필요
- DKIM 필요
- DMARC 필요
바로 AWS SES와 동일하게 적용된다
그래서 현실적인 이메일 발송 전략은 보통 아래 두 가지로 나뉜다.
1. 정석 (운영 환경)
- 도메인 별도 구매
- AWS SES 사용
- SPF / DKIM / DMARC 설정
(장점)
- 높은 전달률
- 스팸 필터 안정성
- 서비스 신뢰도 확보
2. 빠른 구현 (MVP)
- Gmail SMTP 사용
- 개인 Gmail 계정 활용
(장점)
- 설정 간단
- 즉시 사용 가능
(단점)
- 발송량 제한
- 서비스용 메일로 부적합
(참고) 혹시 그러면 AWS SES와 Gmail SMTP를 같이 쓸 수 있을까..?
많이 헷갈리는 부분이지만, 결론부터 말하면 불가능하다
- SES = SMTP 서버
- Gmail = SMTP 서버
둘 다 “메일 발송 주체”이기 때문이다!!!
즉 구조는 보통 다음 중 하나이다
앱 → SES SMTP → 메일 발송
or
앱 → Gmail SMTP → 메일 발송
※ gmail.com은 이미 Google 소유의 도메인이다ㅠㅠ 한마디로 이미 팔렸다는 것이다!
최종 정리
- 이메일 전달률은 “신뢰도”가 핵심이다
- 신뢰도를 보장하는 기술은 SPF / DKIM / DMARC 3가지이다
- AWS SES를 제대로 쓰려면 도메인 기반 인증이 사실상 필수이다
- Gmail SMTP는 빠른 MVP용으로 적합하다
- 진짜 제대로 된 서비스용 메일을 운영하려면, “도메인 구입 + AWS SES + 인증 3종 세트” 로 가야한다
- AWS SES와 Gmail SMTP는 함께 사용할 수 없다
- gmail.com 도메인은 SES에서 사용할 수 없다
'웹 > 웹 개발' 카테고리의 다른 글
| [웹 개발] 쿠키 기반 인증 전환 시 FE·BE가 반드시 맞춰야 할 SSO 연동 핵심 포인트 (0) | 2026.04.01 |
|---|---|
| [웹 개발] Assistant API 에서 thread_id 문맥 관리 시 주의사항 및 대응 방안들 (동일한 Thread에서 여러 파일을 연속으로 업로드했을 경우) (0) | 2025.12.09 |
| [웹 개발] Completion API에서 Assistant API로의 리팩토링 (w/AOAI) (0) | 2025.10.30 |
| [웹 개발] 홈텍스 정산시스템 만들기 (바로빌 API 연동 후기) (4) | 2025.06.04 |
| [웹 개발] WebRTC와 MediaRecorder API, 그리고 외부 장치 사용까지 (0) | 2025.05.22 |