For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ja/docs/web/aws-ses.md (or send Accept: text/markdown).
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 を開く
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 SMTP が使える us-east-1 です。別の対応リージョンでは、そのリージョン用の認証情報と SMTP エンドポイントを使います。ダウンロードした SMTP パスワードは AWS シークレットアクセスキーとは異なり、手順 5 でのみ使います。AWS の SMTP 認証情報の説明
3. 不要な Mail Manager 料金を避ける
IAM SMTP と SES SDK は Mail Manager のトラフィックポリシーやルールセットなしで SES から直接送信します。任意のオープンまたは mTLS 受信エンドポイントは作成しないでください。AWS の従量料金では 1 エンドポイント月額 50 米ドルです。認証付きエンドポイントは現在無料なので、Recommended が必ず 50 米ドルを追加するわけではありません。通常の送信料金と選択したプランの料金は適用されます。AWS の最新料金
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 も指定し、有効期限が切れたら 3 つの値を更新します。ロールの認証情報は SDK が更新します。AWS SDK の認証情報チェーン
EMAIL_PROVIDER=ses
EMAIL_FROM=Your App <[email protected]>
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 はその接続方式を選びます。エンドポイント、認証情報、確認済み送信者のリージョンを一致させてください。
購入者向けキットのこの設定は 3 プラットフォーム共通です。メール方式は 1 つ選びます。EMAIL_PROVIDER=smtp は SMTP 認証情報、EMAIL_PROVIDER=ses は SDK API 認証情報を使います。
EMAIL_PROVIDER=smtp
EMAIL_FROM=Your App <[email protected]>
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 から許可された宛先にログインコードを 1 通要求し、受信箱と迷惑メールを確認します。モバイルは同じバックエンドを呼び、デスクトップはウェブアプリを表示します。どちらのクライアントにも AWS キーや SMTP パスワードは不要です。
認証情報はバックエンドだけに置き、NEXT_PUBLIC_、EXPO_PUBLIC_、デスクトップの配布物には入れません。失敗時は送信者確認、サンドボックスの宛先制限、リージョン、IAM 権限、認証情報の種類を確認します。queued は SES の受付を示すだけで、受信箱への到達を保証しません。メール設定の概要