> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Amazon SES 이메일 설정

AWS SDK 또는 IAM SMTP 자격 증명으로 웹, 모바일, 데스크톱의 Amazon SES를 설정하고 발신자를 확인하며 불필요한 Mail Manager 요금을 피하세요.

## 1. AWS 리전에서 발신자 확인

Amazon SES를 US East (N. Virginia), us-east-1에서 여세요. Configuration → Identities → Create identity에서 도메인이나 이메일 주소를 선택하고 DNS 또는 이메일 확인을 완료하세요. 아래에서도 같은 리전과 확인된 발신자를 사용하세요.

새 SES 계정은 샌드박스에서 시작합니다. 수신자도 확인하거나 SES 사서함 시뮬레이터를 사용하세요. 일반 고객에게 보내기 전에 Account dashboard에서 프로덕션 액세스를 신청하세요. [Amazon SES 열기](https://us-east-1.console.aws.amazon.com/ses/home?region=us-east-1)


## 2. SMTP에서는 IAM SMTP credentials 선택

SES에서 SMTP settings → Create SMTP credentials를 여세요. Recommended 표시가 있는 Mail Manager 대신 IAM SMTP credentials를 선택하세요. IAM 카드에는 Manual credential management. No traffic policies or rule sets.가 표시됩니다. Create IAM credentials를 클릭하고 전송 사용자의 이름을 지정한 뒤 페이지를 닫기 전에 SMTP 자격 증명을 다운로드하세요.

[IAM 자격 증명 생성](https://us-east-1.console.aws.amazon.com/iam/home?SESRegion=us-east-1#/users/smtp/create) · [기존 항목 관리](https://us-east-1.console.aws.amazon.com/iam/home#/users)

이 링크는 기존 IAM SMTP를 지원하는 us-east-1을 사용합니다. 다른 지원 리전에서는 해당 리전의 자격 증명과 SMTP 엔드포인트를 사용하세요. 다운로드한 SMTP 비밀번호는 AWS 비밀 액세스 키와 다르므로 5단계에서만 사용하세요. [AWS SMTP 자격 증명 안내](https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html)


## 3. 불필요한 Mail Manager 요금 피하기

IAM SMTP와 SES SDK는 Mail Manager 트래픽 정책이나 규칙 세트 없이 SES로 직접 전송합니다. 선택 사항인 개방형 또는 mTLS 수신 엔드포인트를 만들지 마세요. AWS 종량제 가격은 엔드포인트당 월 50달러입니다. 인증된 엔드포인트는 현재 무료이므로 Recommended가 항상 50달러를 추가하는 것은 아닙니다. 일반 전송 요금과 선택한 요금제는 계속 적용됩니다. [AWS 최신 요금 확인](https://aws.amazon.com/ses/pricing/)


## 4. AWS SDK로 전송

이 모드는 HTTPS로 SES API를 사용합니다. IAM에서 백엔드 역할이나 전용 전송 사용자에 확인된 SES ID의 ses:SendEmail 권한을 부여하세요. 사용자는 Security credentials → Create access key에서 액세스 키 ID와 원래 비밀 액세스 키를 저장하세요. SMTP 비밀번호로 SDK 요청에 서명할 수 없습니다.

개발에서는 apps/web/.env.local, 프로덕션에서는 호스팅 비밀 설정에 예시를 저장하고 발신자와 자리 표시자를 바꾸세요. IAM 역할 또는 설정된 로컬 AWS 프로필을 사용하면 두 키 필드와 AWS_SESSION_TOKEN을 비워 두세요. SDK가 기본 자격 증명 체인을 사용합니다. 명시적 키는 반드시 쌍으로 제공하세요.

명시적 임시 자격 증명에는 일치하는 AWS_SESSION_TOKEN도 설정하고 만료되면 세 값을 모두 갱신하세요. 역할 자격 증명은 SDK가 갱신합니다. [AWS SDK 자격 증명 체인](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html)

```
EMAIL_PROVIDER=ses
EMAIL_FROM=Your App <hello@yourdomain.com>
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=<IAM-access-key-id>
AWS_SECRET_ACCESS_KEY=<original-IAM-secret-access-key>
# Temporary explicit credentials only:
AWS_SESSION_TOKEN=
```


## 5. 또는 기존 IAM SMTP 사용

대체 설정에서는 2단계의 SMTP 사용자 이름과 SMTP 비밀번호를 사용하세요. 포트 587은 STARTTLS를 사용하며 SMTP_SECURE=false가 해당 모드를 선택합니다. 엔드포인트, 자격 증명, 확인된 발신자는 같은 리전이어야 합니다.

구매자용 키트의 이 설정은 세 플랫폼이 공유합니다. 이메일 모드는 하나만 선택하세요. EMAIL_PROVIDER=smtp는 SMTP 자격 증명, EMAIL_PROVIDER=ses는 SDK API 자격 증명을 사용합니다.

```
EMAIL_PROVIDER=smtp
EMAIL_FROM=Your App <hello@yourdomain.com>
SMTP_HOST=email-smtp.us-east-1.amazonaws.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=<downloaded-SMTP-username>
SMTP_PASSWORD=<downloaded-SMTP-password>
```


## 6. 웹, 모바일, 데스크톱을 한 번에 설정

설정 변경 후 백엔드를 다시 시작하세요. 마이그레이션된 데이터베이스에서 /auth로 허용된 수신자에게 로그인 코드를 한 번 요청하고 받은편지함과 스팸함을 확인하세요. 모바일은 같은 백엔드를 호출하고 데스크톱은 웹 앱을 로드합니다. 두 클라이언트에는 AWS 키나 SMTP 비밀번호가 필요 없습니다.

자격 증명은 백엔드에만 보관하고 NEXT_PUBLIC_, EXPO_PUBLIC_ 또는 데스크톱 번들에 넣지 마세요. 실패하면 발신자 확인, 샌드박스 수신자 제한, 리전, IAM 권한 및 자격 증명 유형을 확인하세요. queued는 SES가 메시지를 수락했다는 뜻이며 수신함 도착을 보장하지 않습니다. [이메일 설정 개요](https://supastack.dev/ko/docs/web/setup-email.md)


설정을 계속하려면 [나머지 공급자 키 수집](https://supastack.dev/ko/docs/web/provider-keys.md) 가이드를 읽어보세요.


## 다음

[나머지 공급자 키 수집](https://supastack.dev/ko/docs/web/provider-keys.md)
