AWS SES(Simple Email Service)는 대규모 이메일 발송을 위한 완전 관리형 클라우드 이메일 서비스다. 트랜잭션 이메일, 마케팅 이메일, 알림 이메일을 저렴하게 발송할 수 있다.
주요 기능
| 기능 | 설명 |
|---|
| 이메일 발송 | SMTP 또는 API를 통한 대량 발송 |
| 수신 처리 | 수신 이메일을 S3·SNS·Lambda로 라우팅 |
| 이메일 검증 | 발신 도메인 DKIM·SPF·DMARC 설정 |
| 전달률 관리 | 반송·컴플레인 자동 처리 |
| 대시보드 | 발송 지표 모니터링 |
Node.js 발송 예시
typescript
import { SESClient, SendEmailCommand } from '@aws-sdk/client-ses';
const ses = new SESClient({ region: 'ap-northeast-2' });
const command = new SendEmailCommand({
Source: 'noreply@example.com',
Destination: {
ToAddresses: ['user@example.com'],
CcAddresses: [],
},
Message: {
Subject: { Data: '가입을 환영합니다!' },
Body: {
Html: { Data: '<h1>안녕하세요!</h1><p>가입해 주셔서 감사합니다.</p>' },
Text: { Data: '안녕하세요! 가입해 주셔서 감사합니다.' },
},
},
});
await ses.send(command);
DKIM 설정 예시
bash
# 도메인 검증
aws ses verify-domain-identity --domain example.com
# DKIM 토큰 생성
aws ses verify-domain-dkim --domain example.com
# 응답으로 받은 CNAME 레코드를 DNS에 등록
# xxxxxxxxxxxx._domainkey.example.com CNAME xxxxxxxxxxxx.dkim.amazonses.com
샌드박스 vs 프로덕션
| 모드 | 발송 한도 | 수신자 제한 |
|---|
| 샌드박스 | 200/일 | 검증된 주소만 |
| 프로덕션 | 무제한 (요청 기반) | 제한 없음 |
관련 문서