Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon SESのメール送信結果判定に苦戦した話

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Amazon SESのメール送信結果判定に苦戦した話

Avatar for Hayato Sato

Hayato Sato

October 09, 2026

Other Decks in Technology

Transcript

  1. Amazon SES とは • 正式名称は、 Amazon Simple Email Service •

    AWS が提供するクラウドベースのメール送信サービス • API 経由で簡単にメール送信の実装が可能
  2. どうやって実現するのか Amazon SESの「イベント発⾏(event publishing)」を活⽤ • Amazon SES は Amazon Simple

    Notification Service (Amazon SNS) などの サービスに対して、イベントを発⾏することが可能 • そのイベントデータから、メールの送信状況(送信、到達、バウンス、苦情 など)の変化を取得可能
  3. 調査結果2 「Delivery -> Bounce」という同じ順序でも、バウンスの種別によって送信結果が異なる Delivery の後に Bounce(ハードバウンス)を発⾏ → 「送信失敗 」と判定すべき

    (受信拒否設定などが原因) Delivery の後に Bounce(ソフトバウンス)を発⾏ → 「送信成功」と判定すべき(⾃動応答設定などが原因)
  4. 最終的な判定ロジック 1. メール送信リクエスト後、 1分以上待つ 2. 受信したイベント列を 発⾏時刻順 に並べる 3. ソートされたイベント列から送信結果を判定する

    Delivery → Bounce(ソフトバウンス) の場合 → 送信成功 上記以外の場合 → 最後のイベントで判定 • Delivery → 送信成功 • Bounce→ 送信失敗 より詳細に解説した 技術ブログはこちら!