정지용
기술스택 목록
인프라

Amazon SES

프로젝트 1에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.

이 기술은 무엇인가요?

애플리케이션에서 이메일을 대량으로 발송하고 수신 상태를 추적하는 클라우드 이메일 서비스

Amazon SES(Simple Email Service)는 트랜잭션 메일, 마케팅 메일, 알림 메일 등을 대량으로 안정적으로 발송하기 위해 만들어진 관리형 이메일 발송 플랫폼이다. 직접 메일 서버(SMTP 서버)를 구축하고 IP 평판, 스팸 필터링, 발신 도메인 인증을 관리하는 부담을 없애고, API나 SMTP 인터페이스만으로 이메일을 보낼 수 있게 해준다. 발송뿐 아니라 반송(bounce), 불만 신고(complaint), 열람 등의 이벤트를 받아 발송 품질을 모니터링하는 기능도 함께 제공한다. 애플리케이션 서버가 직접 메일 발송을 처리하지 않고 별도 서비스나 큐를 거쳐 SES를 호출하는 구조로도 자주 결합된다.

이럴 때 사용합니다

  • 회원가입 인증, 알림 등 애플리케이션에서 발생하는 트랜잭션 메일을 안정적으로 보내야 할 때
  • 자체 메일 서버 운영 없이 발신 평판 관리와 스팸 필터링 대응 부담을 줄이고 싶을 때
  • 다른 클라우드 인프라(큐, 서버리스 함수 등)와 연동해 대량 이메일 발송을 자동화하고 싶을 때
  • 발송량이 가변적이라 사용한 만큼만 비용을 지불하는 방식이 필요할 때

핵심 개념

Identity
이메일을 보낼 때 발신자로 사용하는 이메일 주소나 도메인을 뜻하며, SES에 등록하고 소유권을 인증해야 발송에 사용할 수 있다.
Verification
발신 도메인이나 이메일 주소가 실제 소유자의 것임을 DNS 레코드나 이메일 확인으로 증명하는 절차로, 인증되지 않은 발신자는 발송이 제한된다.
Sandbox mode
신규 계정에 기본 적용되는 제한 모드로, 인증된 수신자에게만 소량 발송이 가능하며 프로덕션 사용을 위해서는 별도 승인이 필요하다.
Bounce / Complaint
메일이 반송되거나 수신자가 스팸으로 신고한 이벤트로, 이 비율이 높아지면 발신 평판이 나빠져 발송이 제한될 수 있다.
Configuration set
발송 이벤트(전송, 반송, 열람 등)를 추적하고 SNS나 다른 서비스로 알림을 보낼 규칙을 묶어 관리하는 설정 단위이다.
SMTP / API interface
SES는 기존 SMTP 프로토콜과 REST 기반 API 두 가지 방식으로 이메일 발송을 지원해 다양한 클라이언트 환경에 맞출 수 있다.

AWS CLI로 이메일 발송하기

인증된 발신 주소에서 지정한 수신자에게 텍스트 메일 한 통을 보내는 가장 기본적인 명령이다.

Shell
aws ses send-email \
  --from "sender@example.com" \
  --destination "ToAddresses=receiver@example.com" \
  --message '{
    "Subject": {"Data": "안녕하세요"},
    "Body": {
      "Text": {"Data": "SES로 보낸 테스트 메일입니다."}
    }
  }'

처음 쓸 때 흔한 함정

  • 샌드박스 상태에서는 인증된 이메일끼리만 발송되어 실제 사용자에게 메일이 안 갈 수 있다
  • 반송·신고 비율 관리를 소홀히 하면 계정 발송 권한이 제한되거나 정지될 수 있다
  • 발신 도메인/주소 인증(SPF, DKIM 등) 설정을 빠뜨리면 메일이 스팸함으로 분류되기 쉽다

위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.

프로젝트별 활용 방식

위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.

함께 사용한 기술

위 프로젝트들에서 같이 쓰인 다른 기술입니다.