目次


1. 送信者認証(ドメイン設定)

  • アドレス単位ではなくドメイン単位でIDを検証する。 本番送信の前に済ませておく。
  • Easy DKIM(2048bit)を有効にする。
  • カスタムMAIL FROMドメインを設定する。 SPFのアライメントを取るため。SESだけで送るなら、次のようなTXTレコードを追加する。
    v=spf1 include:amazonses.com -all
    
  • DMARCを公開する。 最初は p=none で集計レポート(rua)を受け取り、問題がなければ quarantine、reject と段階的に強める。認証に失敗している送信元は、DMARCレポートで特定できる。
  • GmailとYahooの大量送信者要件に合わせる。 SPF・DKIM・DMARCの3つを揃え、マーケティングメールにはワンクリック配信停止(RFC 8058の List-Unsubscribe-Post)を入れる。

2. レピュテーション管理(最重要)

  • バウンス率と苦情率を常に監視する。 SESのしきい値は次のとおり。

    指標審査対象送信停止のおそれ運用の目安
    バウンス率5%10%前後2%未満
    苦情率0.1%0.5%0.1%未満
  • アカウントレベルのサプレッションリストを有効にする。 ハードバウンスした宛先や苦情を出した宛先には、二度と送らないようにする。

  • マルチテナントSaaSではテナント別サプレッションリストを使う。 2026年6月から、バウンスと苦情をテナント単位で分離できる。1社の悪いリストが他社の配信に影響しにくくなる。

  • Email Validationを使う。 送信前にアドレスを検証してバウンスを減らす機能。アカウント単位または設定セット単位で設定できる。

  • リストを清潔に保つ。 購入したリストは使わず、ダブルオプトインにし、長く反応のない宛先は定期的に削除する。登録フォームにはCAPTCHAなどの悪用対策も入れる。

3. 設定セットとイベント処理

  • すべての送信に設定セット(Configuration Set)を付ける。

  • イベントを外部に流して自動処理する。 Bounce・Complaint・Delivery・Reject・DeliveryDelayをSNS、EventBridge、Firehoseに送り、アプリ側のDBで宛先を自動で無効化する。

  • ストリームを分ける。 トランザクションメールとマーケティングメールで、次のものを分ける。

    • 設定セット
    • 送信サブドメイン(例: mail.example.com と news.example.com)
    • IPプール

    マーケティングの評判が悪くなっても、パスワードリセットなどの重要メールは届き続ける。

  • トラッキングの同意を宛先ごとに扱う。 2026年8月から、SendEmailやSendBulkEmailのリクエストで、開封とクリックのトラッキング設定を直接指定できる。

4. 監視と可視化

  • Virtual Deliverability Manager(VDM)を有効にする。 2026年5月に、受信トレイ到達率(インボックスプレースメント)とブロックリスト監視が追加された。
  • CloudWatchアラームを設定する。 Reputation.BounceRate と Reputation.ComplaintRate に、SESのしきい値より低い値でアラームを作り、停止される前に気づけるようにする。
  • 送信量が急に増えたときのアラームも用意する。 アカウントの乗っ取りや不具合を早く見つけるため。

5. IP戦略とウォームアップ

  • 少量〜中量なら共有IPで十分。
  • 大量に安定して送るなら専用IPを検討する。 専用IPには必ずウォームアップが必要。自動でウォームアップする「マネージド専用IP」を使うと楽になる。
  • 新しいドメインやIPでは送信量を少しずつ増やす。 いきなり大量に送るより、一定量を継続的に送るほうが結果は安定する。

6. アプリ実装と可用性

  • 送信レート上限を守る。 スロットリングエラー(Throttling、MaxSendRateExceeded)が返ったら、指数バックオフで再試行する。キュー(SQSなど)を挟むと安定する。
  • 新規開発はSES API v2を使う。
  • マルチリージョン構成にはGlobal Endpointsを使う。 API v2の送信を、プライマリとセカンダリのリージョンにアクティブ/アクティブで自動的に振り分ける。
  • 本番前にメールボックスシミュレーターで試す。 バウンスや苦情の処理が正しく動くか確認する。

7. セキュリティ

  • IAMは最小権限にする。 ses:SendEmail の対象IDを絞り、ses:FromAddress などの条件キーで送信元を制限する。
  • SMTP認証情報は定期的にローテーションする。 長期のアクセスキーは使わず、できる限りIAMロールを使う。
  • VPC内から送るならVPCエンドポイント(PrivateLink)を使う。

8. 補足(2026年の動き)

  • Amazon Pinpointでメールを送っていた場合はすぐ移行する。 Pinpointは2026年10月30日にサポート終了の予定だった。SES本体などへの移行を確認する。
  • 受信処理や社内メールゲートウェイにはMail Managerを検討する。 2026年4月にmTLS対応と、Lambda呼び出し・Bounceのルールアクションが追加された。

優先度の高い順チェックリスト

  • ドメイン認証(DKIM・SPF・DMARC)を揃える
  • サプレッションリストとバウンス・苦情イベントの自動処理を入れる
  • 設定セットでストリームを分ける
  • 監視(CloudWatchアラームとVDM)を設定する
  • ウォームアップとリストの手入れを続ける

参考

0件のページ