# Resend / Amazon SES / SendGrid / Postmark 比較：メール配信サービスの技術選定ガイド（2026年8月版）

> メール配信サービスの選定を「単価」ではなく「自社が持ちたくない仕事」で決めるためのガイド。Resend・Amazon SES・SendGrid・Postmark の2026年8月時点の公式料金と制限を6つの選定軸で比較し、総保有コスト・意思決定フロー・移行手順・Resendを選ぶべきでないケースまで正直に整理します。

- 公開日: 2026-08-06
- 著者: 友田 陽大
- タグ: Resend, メール配信, 技術選定, コスト最適化, AWS, 到達率, 信頼性, Vercel
- URL: https://tomodahinata.com/blog/resend-vs-sendgrid-ses-postmark-email-service-selection-guide
- カテゴリ: Resend・メール配信
- 総合ガイド: https://tomodahinata.com/blog/resend-transactional-email-production-guide

## 要点

- 選定は「一番安いのはどれか」ではなく「到達率・購読管理・可観測性のうち、自社が持ちたくない仕事はどれか」で決まる。単価だけを並べた比較表は、実装工数を0と仮定している時点で間違っている
- 2024年の知識は3か所で壊れている。AWS SES の『EC2から62,000通/月が永久無料』は現在の料金ページに存在せず、SendGrid の無料プランは『100通/日を60日間』のトライアルに変わり、Resend は Free / Pro / Scale / Enterprise の4ティア構成になっている（すべて2026-08-06 時点の公式ページで確認）
- 実効単価（各プランの含み通数で割った筆者計算）は Resend Pro が 50,000通で $0.40/1,000・100,000通で $0.35/1,000、SendGrid Essentials が $0.399/1,000、SES は à la carte で $0.10/1,000。桁で安いのは SES だが、その差額は運用機能を自作する工数と交換になる
- Resend を選ぶべきでない条件は明確にある。ログ保持は全有料プラン30日固定（Enterprise のみ Flexible）、無料プランは1ドメイン、専用IPはマネージドプールでIPアドレスを開示しないためIPアローリスト要件を満たせず、送信リージョンを東京にしてもアカウントデータとログは米国保管
- 移行は『ドメイン認証の並行運用 → 少量切り替え → Webhookの二重受け → ロールバック』の順で組む。Resend の SPF/DKIM は send. サブドメインと resend._domainkey に載るため既存プロバイダの apex 設定と衝突せず、両者を同時に生かしたまま移せる

---

メール配信サービスの比較記事はどれも「1,000通あたりいくら」の表で終わります。しかしその表は、**実装工数をゼロと仮定している時点で見積もりとして成立していません**。到達率の監視画面、抑制リストの同期、購読解除の導線、バウンス処理の配線——これらは誰かが作らなければ存在しないのに、単価表にはどこにも現れないからです。

この記事は、**「一番安いのはどれか」ではなく「自社が持ちたくない仕事はどれか」で選ぶ**ための技術選定ガイドです。Resend / Amazon SES / SendGrid / Postmark の4つを、2026年8月6日時点の公式料金ページから取った数字だけで比較し、総保有コスト・意思決定フロー・移行手順まで通します。

私はこのポートフォリオサイト自体を Resend で本番運用しています（問い合わせフォーム、リードマグネット配布、7通構成のメール講座、Stripe 決済後の納品メール）。同時に、**ドメイン認証レコードを apex に誤配置して `/api/contact` が 502 を返し続ける障害**も起こしました。だからこの記事は Resend の宣伝ではありません。**選ぶべきでない条件**にも同じ分量を割きます。

> **数字の取得日について**：本記事の価格・上限はすべて **2026年8月6日**に各社の公式料金ページで確認したものです。価格改定は頻繁に起きるため、実際の見積もり時は必ず各公式ページで最新値を確認してください。金額はすべて USD 表記です（Resend の料金ページに通貨切り替えはありません）。

---

## まず、2026年8月時点の事実へ知識を更新する

メール配信は「一度覚えたら5年使える」領域ではなくなりました。よく引用される数字のうち、少なくとも次の4つは**現在の公式ページと食い違っています**。

| よくある理解（もう使えない） | 2026-08-06 時点の公式ページの記載 |
|---|---|
| AWS SES は EC2 から送れば月62,000通まで永久無料 | **その記載は現在の料金ページに存在しない**。Essentials / Pro / Enterprise の3プラン制になり、Pro は $105、Enterprise は $500 の「アカウント×リージョン×月」固定費が乗る。新規は「最大 $200 の AWS 無料利用枠クレジット」、無料プランは作成後6か月、クレジットは12か月で失効 |
| SendGrid は100通/日が恒久無料 | **「100 emails/day for 60 days」= 60日トライアル**。また `sendgrid.com/pricing` は Twilio 側へ301リダイレクトし、料金は `twilio.com/en-us/products/email-api/pricing` に移った |
| Resend は Free / Pro / Enterprise の3ティア | **Free / Pro / Scale / Enterprise の4ティア**。専用IPが使えるのは Scale から |
| Resend のAPIレート制限は 2 req/s | **10 requests per second、しかもチーム単位**。同一チームの全APIキーで同じ枠を共有し、秒単位ウィンドウでバースト許容なし |

もうひとつ、SES 側に極めて新しい変更があります。料金ページの脚注に「**新規の SES アカウント、および 2025年6月1日以降にメーター課金対象の SES 利用がないアカウント×リージョンの組み合わせは、2026年7月21日から Essentials プランで開始する**」と書かれています。つまり「昔作ったまま眠っているSESアカウント」の課金前提が、つい先月変わっている可能性があります。

---

## 選定軸を6つに分解する

比較を「安い / 高い」の1軸に潰すと必ず判断を誤ります。私は次の6軸で評価しています。**この6軸のうち、自社が自前で持ちたくないものが多いほど、単価の高いマネージドサービスが正解に近づきます**。

| # | 軸 | 具体的に問うこと |
|---|---|---|
| 1 | **到達率の作りやすさ** | SPF/DKIM/DMARC の設定導線、抑制リストの自動化、バウンス詳細、専用IPの条件、共有IPの品質 |
| 2 | **開発体験と型** | 公式SDKの型定義の質、テンプレートの書き方、ローカル検証手段、エラーの分類しやすさ |
| 3 | **運用機能** | Webhook（エンドポイント数・イベント種別）、抑制リスト、購読管理、ログ検索、ダッシュボード |
| 4 | **価格と課金モデル** | 固定費か従量か、超過時の挙動、日次上限の有無、超過の上限（暴走の止まり方） |
| 5 | **ロックインと移行容易性** | ドメイン認証の並行運用可否、テンプレートの可搬性、購読者データの持ち出し |
| 6 | **組織要件** | 監査（SOC 2 / GDPR）、データ所在、SLA、支払い方法、座席数、請求の分離 |

軸4（価格）は6分の1でしかありません。それにもかかわらず比較記事の多くが軸4だけを扱うのは、**軸4だけが公開情報として取りやすいから**です。この記事も価格は公式値をそのまま載せますが、意思決定は軸1・3・5・6で行ってください。

---

## 各サービスの現況（2026-08-06 取得）

### Resend

送信量ベースのトランザクションプランと、コンタクト数ベースのマーケティングプランが分かれています。以下はトランザクション側の全ティアです。

| プラン | 月額 | 含み通数/月 | 超過単価（1,000通あたり） |
|---|---|---|---|
| Free | $0 | 3,000 | — |
| Pro | $20 | 50,000 | $0.90 |
| Pro | $35 | 100,000 | $0.90 |
| Scale | $90 | 100,000 | $0.90 |
| Scale | $160 | 200,000 | $0.80 |
| Scale | $350 | 500,000 | $0.70 |
| Scale | $650 | 1,000,000 | $0.65 |
| Scale | $825 | 1,500,000 | $0.52 |
| Scale | $1,150 | 2,500,000 | $0.46 |
| Enterprise | 個別見積 | 個別 | 個別 |

公式の但し書きはそのまま重要です。「超過単価は含み通数を超えた分にのみ適用される」「Free プランは100通/日に制限される」。

**この表で見落とされがちな点が2つ**あります。第一に、100,000通/月では **Pro が $35、Scale が $90** です。Scale の差額はメール量ではなく、Slack サポート・1,000ドメイン・500 AIクレジット・専用IPの適格性を買っています。第二に、実効単価（含み通数で割った筆者計算）は Pro $20 で **$0.40/1,000通**、Pro $35 で **$0.35/1,000通** と、Scale の $0.90/1,000通 より安くなります。

プラン別の主要な制限（公式の比較表より）:

| 項目 | Free | Pro | Scale | Enterprise |
|---|---|---|---|---|
| 日次上限 | 100通 | なし | なし | なし |
| カスタムドメイン | 1 | 10 | 1,000 | Flexible |
| データ保持 | 30日 | 30日 | 30日 | Flexible |
| Webhook エンドポイント | 1 | 10 | 10 | Flexible |
| 専用IP | 不可 | 不可 | アドオンで可 | アドオンで可 |
| AIクレジット/月 | 5 | 100 | 500 | Flexible |
| Slack サポート | なし | なし | あり | あり |

全プラン共通で含まれるものは、公式の比較表で4プランすべてにチェックが入っている行を読めば分かります。RESTful API、SMTPリレー、公式SDK、受信メール、予約送信、バッチ送信、開封・クリック追跡、React Email、マルチリージョン、DKIM/SPF/DMARC 認証、Webhook（全イベント）、SOC 2 Type II、GDPR準拠、MFA、APIキー権限。加えて自動抑制リスト、バウンス詳細、到達率インサイト、Automation Runs 10,000回/月も全プランに含まれます。

超過（pay-as-you-go）は有料プラン限定のオプトインで、チーム設定の「Transactional Overages」から有効化します。**暴走の止まり方が明文化されている**のが重要で、公式は「極端な超過と想定外のコストを防ぐため、月次クォータの5倍のハードリミットが適用される。到達すると次の請求サイクルまで送信が一時停止される」と書いています。

その他、選定に効く数字:

- **専用IP**: $30/月。条件は「Scale プラン」かつ「1日3,000通超」（ナレッジベースは「Transactional Scale または Marketing Pro」と表記しており、料金ページの「Scale プラン」と表現が揺れています。両方を確認してください）。マネージドプールのみで、**Resend は専用プールに含まれるIPのリストを開示しません**。
- **レート制限**: 10 req/s、チーム単位、バースト許容なし。バッチ送信は「1リクエスト＝レート制限1回分」で最大100通を送れるため、スループットの正攻法はバッチです。
- **アカウント停止の閾値**: バウンス率 4% 未満、スパム率 0.08% 未満。超えると送信が一時停止される可能性があると明記されています。
- **年額**: 料金ページのFAQは「月額プランのみ」、ナレッジベースは「年額は Enterprise で利用可能」。**セルフサーブは月額のみ、年額は営業経由の Enterprise のみ**と読むのが正確です。非営利・教育割引はなし、支払いは主要クレジットカード。
- **Vercel Marketplace**: 2026年7月1日にネイティブ統合が公開され、`vc i resend` でプロビジョニングできます。請求は Vercel 発行の請求書に乗り、税処理も Vercel 側が行います。送信リージョンは `-m region=ap-northeast-1` のように指定できます。

### Amazon SES

3プランのグリッドに加えて、à la carte（従量のみ）を選べます。

| 送信量帯 | Essentials | Pro | Enterprise |
|---|---|---|---|
| 0〜1,000万通/月 | $0.16 / 1,000通 | $0.22 / 1,000通 | $0.23 / 1,000通 |
| 1,000万〜1億通/月 | $0.14 / 1,000通 | $0.17 / 1,000通 | $0.18 / 1,000通 |
| 1億通/月超 | $0.11 / 1,000通 | $0.12 / 1,000通 | $0.13 / 1,000通 |
| アカウント×リージョン×月の固定費 | なし | $105 | $500 |

à la carte では送信 **$0.10 / 1,000通**（＋添付データ $0.12/GB）、受信 $0.10 / 1,000通（＋受信チャンク $0.09/1,000）。単価で見れば他の3社を桁で下回ります。

公式の計算例もそのまま載っています。Essentials で 32KB のメール 250,000通なら $40.00 + データ $0.96 = **$40.96/月**。Pro で 2,000,000通なら $440.00 + データ $7.68 + 固定費 $105.00 = **$552.68/月**。à la carte で 2,000,000通なら **$200.00/月**。

### SendGrid（Twilio）

| プラン | 月額 | 通数 | 超過（1通あたり） | チームメンバー | Webhook |
|---|---|---|---|---|---|
| Free Trial | $0 | 100通/日を60日間 | — | 1 | 1 |
| Essentials | $19.95 から | 50,000〜100,000通/月 | $0.0013 → $0.0009 | **1** | 2 |
| Pro | $89.95 から | 100,000〜2,500,000通/月 | $0.0011 → $0.0005 | 1,000 | 5 |
| Premier | 個別見積 | 5,000,000通/月〜 | — | 1,000 | 5 |

超過を1,000通単位に直すと（筆者計算）$1.30 / $0.90 / $1.10 / $0.50 per 1,000通。実効単価は Essentials 入口が $0.399/1,000通、Pro 入口が $0.90/1,000通。

**Essentials のチームメンバーが1名**という点は、比較表で見落とされがちですが組織要件に直結します。複数人でダッシュボードを触るなら Pro（$89.95〜）まで上がります。なお SendGrid のデータ保持期間は料金ページに記載がなく、**本記事では確認できませんでした**。記憶にある数字で Resend の30日と比較しないでください。

### Postmark

以下は料金ページのスライダーが 10,000通/月の位置にあるときの表示です。

| プラン | 月額 | 含み | 超過（1,000通） | データ保持 | 送信ドメイン | ユーザー |
|---|---|---|---|---|---|---|
| Free | $0 | 100通/月 | 超過不可 | 45日 | 最大10 | 最大6 |
| Basic | $15.00 | 10,000通/月〜 | $1.80 | 45日 | 5 | 最大4 |
| Pro | $16.50 | 10,000通/月〜 | $1.30 | 45日既定、最大365日までカスタマイズ可 | 10 | 最大6 |
| Platform | $18.00 | 10,000通/月〜 | $1.20 | 45日既定、最大365日までカスタマイズ可 | 無制限 | 無制限 |

実効単価（筆者計算、10,000通時点）は Basic $1.50、Pro $1.65、Platform $1.80 per 1,000通。**4社のなかで最も高い**単価です。その代わりに Postmark が売っているのは保持期間で、「トラブルシュート用に既定45日のフル本文履歴、必要なら7〜365日でカスタマイズ可能」と明記されています。

アドオンは専用IPが $50/月/IP から（300,000通/月以上かつ Pro 以上）、アクティビティ保持のカスタマイズが $5/月から、DMARC監視が $14/月/ドメインから。FAQ には「100通/月（無料開発者プラン）と 10,000通/月の間のティアは提供していない」「年額プランは今のところ無い」「外部資本を入れていない有料プロダクトを運営しているブートストラップ企業には $75 のアカウントクレジット」とあります。無料プランは**100通/日ではなく100通/月**で、期限はありません。

**10,000通/月を超える価格帯の金額は、料金ページのHTMLに埋め込まれておらず本記事では確認できませんでした。** 大量配信で Postmark を検討する場合は公式ページのスライダーで直接確認してください。

### 同じ送信量で並べる

上記から、代表的な3つの送信量で横に並べます。UNVERIFIED と書いた欄は、公式ページで金額を確認できなかったものです。

| 月間送信量 | Resend | Amazon SES | SendGrid | Postmark |
|---|---|---|---|---|
| 50,000通 | Pro $20（実効 $0.40/1,000） | Essentials $8、à la carte $5（いずれも筆者計算、＋添付データ） | Essentials $19.95（実効 $0.399/1,000） | 未確認 |
| 100,000通 | Pro $35（実効 $0.35/1,000）／Scale $90 | Essentials $16、à la carte $10（筆者計算） | Pro $89.95（実効 $0.90/1,000） | 未確認 |
| 1,000,000通 | Scale $650（$0.65/1,000） | Essentials $160、à la carte $100（筆者計算） | Pro プランの範囲内だが該当額は未確認 | 未確認 |

SES の欄が桁で安いのは事実です。**この差額をどう読むかが、この記事の本題です。**

---

## 総保有コスト：料金表に出てこない行を数える

100,000通/月で比較すると、SES Essentials の $16 と Resend Pro の $35 の差は月19ドル。**この後に挙げる運用機能をひとつ自作し、それを維持し続ける工数と並べれば、無視できる金額**です。したがって選定の実質は「差額19ドルで、どれだけの仕事を外注できるか」になります。

ここで有効なのは、**同じ機能が他方では別料金の行として料金表に載っているかどうか**を見ることです。SES の料金ページは、その意味で極めて正直です。

| 機能領域 | Resend | Amazon SES（料金ページ上の扱い） |
|---|---|---|
| 到達率の可視化・改善提案 | 全プランに「到達率インサイト」が含まれる | Virtual Deliverability Manager が別課金。SES deliverability は $0.07/1,000通（0〜1,000万通帯）、Global deliverability は $1,250/月/リージョン/アカウント |
| メールのアーカイブ・検索 | データ保持30日が全プランに含まれる（Enterprise は Flexible） | Mail Manager Archiving が $2/GB（取り込み）＋ $0.19/GB/月（保管と検索） |
| アドレス検証 | 記載なし | Email Validation $0.01/検証（自動検証は $0.01/1,000） |
| マルチテナント分離 | ドメイン数で表現（1 / 10 / 1,000 / Flexible） | Tenants が $0.005/月/テナント ＋ $0.005/1,000通（1アカウント×リージョンに1,000テナント込み） |
| 受信メール処理 | 全プランに「受信メール」が含まれる（ただしクォータを消費） | Mail Manager Email Processing $0.15/1,000通、Ingress エンドポイント $50/月/エンドポイント（ステータスが Closed でも課金） |

これは「SES が高い」という話ではありません。**SES は機能を部品として売っており、Resend はそれらを束ねて売っている**という構造の違いです。そして部品は、組み立てる人の工数を含みません。

見積もりを作るときに数えるべき「自分で作る羽目になるもの」は、最低でも次の5つです。

1. **抑制リストの連携** — 恒久バウンスと苦情を受け取り、次回送信前に必ず引き当てる経路。Resend では抑制がチーム全体に適用され、全ドメイン・全サブドメインで自動的にスキップされます。同等の保証を自作するなら、送信直前の参照とレースコンディションまで設計対象です。
2. **テンプレートの管理** — 誰がどこで文面を編集し、いつ本番に反映されるか。React Email を使う場合の設計は [テンプレートと変数の設計ガイド](/blog/resend-templates-variables-react-email-design-guide) に切り出しました。
3. **購読管理と購読解除** — RFC 8058 のワンクリック購読解除、トピック単位のオプトアウト、解除状態の正本をどこに置くか。[一括送信・予約送信・購読管理のガイド](/blog/resend-batch-scheduled-broadcasts-audiences-topics-unsubscribe-guide) で扱っています。
4. **ダッシュボードと検索** — 「あの人に届いたか」を非エンジニアが自分で調べられる画面。ここが無いと問い合わせが全部エンジニアに来ます。
5. **バウンス・苦情イベントの配線** — 署名検証、順序保証の無さ、重複配信への耐性。[Webhook 署名検証とバウンス処理のガイド](/blog/resend-webhooks-signature-verification-bounce-complaint-guide) が該当します。

**この5項目を「既にある」と仮定した比較表は、比較になっていません。** 逆に、社内にメール基盤チームがあり、5項目をすでに運用しているなら、SES の単価差は素直に効きます。それが正しい選定です。

---

## 意思決定フロー

上の6軸を、実際に手を動かす順番に落とすとこうなります。

```text
[開始] 送信するメールの性質は？
   |
   +-- トランザクション主体（登録確認・パスワード再設定・通知・領収書）
   |      |
   |      +-- Q1: データ所在・IPアローリスト・年額請求書払いのいずれかが「必須要件」か？
   |      |      YES -> Resend は要件を満たせない可能性が高い
   |      |             ・アカウントデータとログは送信リージョンによらず米国保管
   |      |             ・専用IPはマネージドプールでIPリスト非開示
   |      |             ・セルフサーブは月額のみ（年額は Enterprise の営業経由）
   |      |             -> SES（自社AWSアカウント内）または各社の Enterprise 契約を検討
   |      |      NO  -> Q2 へ
   |      |
   |      +-- Q2: メール基盤を運用する専任チームが既にあるか？
   |      |      YES -> SES（à la carte $0.10/1,000通）。単価差が最大化する
   |      |      NO  -> Q3 へ
   |      |
   |      +-- Q3: ログの保持期間はどれだけ必要か？
   |      |      45日超が必須 -> Postmark（既定45日、7〜365日でカスタマイズ可）
   |      |      30日で足りる -> Q4 へ
   |      |
   |      +-- Q4: スタックは Next.js / TypeScript か？
   |             YES -> Resend（React Email、型付きSDK、Vercel Marketplace ネイティブ）
   |             NO  -> Resend / SendGrid / Postmark を軸3（運用機能）で比較
   |
   +-- マーケティング配信主体（ニュースレター・キャンペーン）
          |
          +-- Q5: 必要なのは配信か、シナリオ自動化か？
                 配信 -> Resend のマーケティングプラン（コンタクト数課金、
                          送信通数の上限なし。Free 1,000コンタクト、
                          Pro marketing $40/5,000 〜 $650/150,000）
                 高度な自動化 -> Resend の Automations は「実行回数」課金
                          （全プラン 10,000回/月込み、超過 $0.0015/回）として
                          料金ページに載っているが、シナリオ設計の表現力は
                          本記事では未検証。公式ドキュメントで機能範囲を
                          必ず確認してから決めること
```

このフローの Q1 が最初に来ているのは意図的です。**組織要件は後から回避できない**からです。単価と開発体験は後から交渉できますが、「ログの保管国」は交渉できません。

---

## Resend を選ぶべきケース／選ぶべきでないケース

### 選ぶべきケース

- **Next.js / TypeScript が主戦場**。React Email でテンプレートを書き、型付きSDKで `{ data, error }` を分岐する開発体験は、この4社のなかで最も摩擦が少ない。実装は [Next.js App Router での実装ガイド](/blog/resend-nextjs-app-router-route-handler-react-email-guide) にまとめました。
- **今日から本番に出したい**。公式が「本番利用の審査もサンドボックスも待機期間もない。無料アカウントも登録直後からフル本番アクセスを持つ」と明言しています。承認待ちが発生しないのは、リリース日が決まっているプロジェクトでは大きい。
- **到達率の作業を標準装備で済ませたい**。DKIM/SPF/DMARC、自動抑制リスト、バウンス詳細、到達率インサイト、清潔な共有IPプール、マルチリージョンが全プランに含まれます。設定手順は [ドメイン認証と到達率のガイド](/blog/resend-domain-authentication-spf-dkim-dmarc-deliverability-guide) を参照してください。
- **月5万〜10万通のレンジ**。Pro $20（実効 $0.40/1,000通）と Pro $35（実効 $0.35/1,000通）は、SendGrid Essentials の $0.399/1,000通 と実質同等の価格で、ドメイン10個・日次上限なし・従量超過付きです。
- **Vercel で運用している**。Marketplace のネイティブ統合により、請求が Vercel の請求書に統合され（税処理も Vercel 側）、API キーが環境変数として自動投入されます。

### 選ぶべきでないケース（正直に）

- **ログを30日より長く保持する必要がある**。Resend のデータ保持は Free / Pro / Scale すべて **30日固定**で、Flexible なのは Enterprise だけです。「半年前のメールの本文を出せ」という要件があるなら、既定45日・最大365日まで設定できる Postmark のほうが素直です。
- **IPアローリストが要件**。Resend の専用IPはマネージドプールのみで、公式は「動的にスケールするため、専用プールに含まれるIPのリストは開示しない」と明記しています。受信側でIPを許可リストに入れる運用とは構造的に噛み合いません。
- **データ所在（データレジデンシー）が要件**。送信リージョンに東京（ap-northeast-1）を選べますが、公式は「リージョン選択はメールの経路と送信元を決めるだけで、顧客データの保管場所は決めない。アカウントデータ、メールのメタデータ、ログ、APIレコードは、選んだ送信リージョンにかかわらず米国に保管される」と書いています。
- **無料プランのまま複数ドメインを使いたい**。Free はカスタムドメイン1つです。しかもサブドメインはそれぞれ独立したドメインとして追加・検証する必要があるため、`updates.example.com`（マーケティング）と `account.example.com`（トランザクション）を分ける運用は無料プランでは成立しません（これはドキュメントの2つの記述からの帰結であり、1文で明記されているわけではありません）。
- **年額契約・請求書払い・非営利割引が必要**。セルフサーブは月額のみ、支払いは主要クレジットカード、非営利・教育割引は無し、と料金ページのFAQに明記されています。
- **専用IPで到達率を上げたい低〜中ボリューム**。Resend 自身が「月90,000通未満ではIPを温め続けるのに足りない可能性がある」「送信量の急変はIP評判を損なう」「新規送信者で送信履歴がない場合」を専用IPが有効でないケースとして挙げています。専用IPは万能薬ではありません。
- **座席数を根拠に比較したい**。Resend の公式ドキュメントには**プラン別のシート数上限も座席単価も記載がありません**。SendGrid（Essentials 1名 / Pro 1,000名）や Postmark（Basic 最大4名 / Platform 無制限）のように明示されている他社と、同じ軸では比較できない点に注意してください。

---

## 移行のしかた：止めずに移す4ステップ

「安いほうに乗り換える」判断をしたとき、事故が起きるのは切り替えの瞬間です。私が使っている順番はこれです。

### ステップ1：ドメイン認証を並行運用する

**ここが最大の朗報です。** Resend の SPF レコード（MX と TXT）は `send.example.com` に、DKIM は `resend._domainkey.example.com` に載ります。公式が「MXレコードは紐づいたサブドメインにしか影響しない」と明言しているとおり、apex の既存 MX / SPF とは**衝突しません**。つまり旧プロバイダを生かしたまま Resend を検証できます。

一方で **DMARC だけは `_dmarc` に1レコード**しか置けません。移行期間中は `p=none` にして `rua` でレポートを受け、旧プロバイダと Resend の**両方が SPF または DKIM のいずれかで pass している**ことを確認してから `p=quarantine` へ上げてください。DMARC は「SPF か DKIM のどちらかを通れば合格、両方落ちたときだけ不合格」です。

なお、私が起こした障害はまさにここでした。SPF/MX/DKIM/DMARC の4レコードを**すべて apex に置いてしまい**、ドメイン検証が通らず `/api/contact` が 502 を返し続けました。Resend のトラブルシュートページも「レコードが正しい場所（root ドメインではなく `send` サブドメイン）に追加されているか確認する」を独立した項目として挙げています。設定手順の詳細は [ドメイン認証と到達率のガイド](/blog/resend-domain-authentication-spf-dkim-dmarc-deliverability-guide) にまとめました。

### ステップ2：少量から切り替える

送信を全部いきなり移さないでください。理由は Resend 自身が専用IPの文脈で書いている「送信量の急変はIP評判を損なう」と同じです。実務としては、次の順に移すのが安全です。

1. 社内向け通知（失敗しても顧客に影響しない）
2. 低頻度のトランザクション（領収書、月次レポート）
3. 高頻度のトランザクション（登録確認、パスワード再設定）
4. マーケティング配信

**この順序は公式の推奨ではなく、私の実務判断です。** 根拠は「影響範囲が小さい順」であり、Resend の閾値（バウンス率4%未満・スパム率0.08%未満）に触れる前に異常を検知できることです。

### ステップ3：Webhook を二重に受ける

旧プロバイダと Resend の両方から配信イベント（送信・到達・バウンス・苦情）を受け取り、**自社DBの1つのテーブルに正規化して入れます**。ここで必須なのは、`(provider, provider_event_id)` の複合ユニーク制約です。両者のイベントIDは名前空間が違うため、provider を含めないと衝突します。

もうひとつ、移行期に必ず踏む地雷を先に書いておきます。**冪等キーはプロバイダをまたぎません。** Resend の `Idempotency-Key` は Resend の中でだけ有効（24時間保持）で、旧プロバイダ経由の同一メールとは突き合わされません。したがって移行中の二重送信を防げるのは、**自社DBの送信台帳だけ**です。「どのイベントに対して、どのプロバイダで、いつ送ったか」を送信前にDBで排他してください。冪等性とリトライの設計は [冪等性・リトライ・エラー処理のガイド](/blog/resend-idempotency-retry-error-handling-reliability-guide) に、決済側の同じ話は [Stripe Webhook と冪等性の実装ガイド](/blog/stripe-payments-production-guide-webhooks-idempotency-subscriptions) にあります。私は決済基盤でこの二層の冪等性を設計し、本番での二重課金を0件に保っています。

### ステップ4：ロールバック経路を先に用意する

切り戻せない移行は移行ではありません。最低限、次の3つを用意してください。

- **送信呼び出しを1モジュールに閉じる**。プロバイダの切り替えが環境変数1つで済む状態にしておく。
- **送信元アドレスのフォールバック**を持つ。私は障害対応の結果として、送信失敗時に別の検証済みドメインへ送信元を切り替えるリトライ経路を実装しました。
- **切り戻すときにドメインを削除しない**。Resend でトラッキングサブドメインを設定した状態でドメインを削除すると、Resend が用意したプロキシも消え、**既に送信済みメールの中のリンクが壊れます**。加えて「ドメインは同時に1つの Resend チームでしかアクティブにできない」ため、チーム間の移動には削除→再検証が必要で、公式も「DNS伝播の間の送信断を計画に入れること」と書いています。

---

## 移行前チェックリスト

実際に私が新しいメール配信サービスを本番に入れるとき確認している項目です。

- [ ] 6軸（到達率・DX・運用機能・価格・ロックイン・組織要件）で候補を評価し、**軸4以外で決めた理由**を書けるか
- [ ] 価格を**取得日つき**で見積もりに記録したか（本記事の数字は 2026-08-06 取得）
- [ ] **データ保持期間**の要件を確認したか（Resend 30日 / Postmark 既定45日・最大365日）
- [ ] **データ所在**の要件を確認したか（Resend はアカウントデータとログを米国保管）
- [ ] **座席数**の要件を確認したか（Resend は未記載、SendGrid Essentials は1名）
- [ ] 超過時の挙動を確認したか（Resend は月次クォータの5倍でハード停止、要オプトイン）
- [ ] レート制限の設計を確認したか（Resend は 10 req/s・チーム単位、バッチは1リクエスト扱い）。アプリ側の絞り込みは [サーバーレスのレート制限ガイド](/blog/nextjs-serverless-rate-limiting-vercel-guide) を参照
- [ ] SPF/DKIM を**サブドメイン側**に置き、apex の既存設定と衝突していないことを確認したか
- [ ] DMARC を `p=none` + `rua` で開始し、旧新両方の送信元が pass しているか確認したか
- [ ] Webhook を二重受けし、`(provider, provider_event_id)` で一意にしているか
- [ ] 送信台帳を自社DBに持ち、**プロバイダをまたぐ冪等性**を自前で担保しているか
- [ ] ロールバック手順（環境変数1つ、ドメインは削除しない）を書き出して共有したか

---

## まとめ：差額19ドルで何を外注するか

この記事の結論は、比較表のどこにも書いていません。

- **単価で選ぶなら SES**。à la carte の $0.10/1,000通 は他の3社を桁で下回ります。ただしそれは、到達率の可視化・アーカイブ・アドレス検証・マルチテナント分離が**すべて別料金の部品として並んでいる**価格です。部品を組み立てる工数は誰かが払います。
- **保持期間で選ぶなら Postmark**。既定45日、7〜365日でカスタマイズ可能という一文は、監査要件のある業務では単価差を簡単に正当化します。
- **開発体験と「今日出せること」で選ぶなら Resend**。承認もサンドボックスも無く、到達率の道具が全プランに含まれ、Next.js との距離が最も近い。ただしログ30日・IPリスト非開示・データは米国保管という3つの制約を、選定時に必ず声に出して確認してください。
- **座席とマーケティング機能で選ぶなら SendGrid**。ただし Essentials が1名である点と、データ保持期間が料金ページに記載されていない点は、契約前に営業に確認する価値があります。

そして最も大事なことをもう一度。**メール配信の選定は、単価の比較ではなく「自社が持ちたくない仕事の外注先を決める」作業です。** 差額19ドルで抑制リストの同期を外注できるなら、それは安い。すでに専任チームがあるなら、19ドルは無駄です。どちらが正しいかは、あなたの組織にしか決められません。

各サービスの実装の詳細は、このクラスタの [Resend 本番運用ガイド（全体像）](/blog/resend-transactional-email-production-guide) を起点にたどってください。

> この記事は [Resend 公式ドキュメント](https://resend.com/docs)・[Resend Pricing](https://resend.com/pricing)・[Amazon SES Pricing](https://aws.amazon.com/ses/pricing/)・[Twilio SendGrid Email API Pricing](https://www.twilio.com/en-us/products/email-api/pricing)・[Postmark Pricing](https://postmarkapp.com/pricing)（いずれも2026年8月6日時点）に基づき、実運用の判断軸を加えて再構成したものです。「筆者計算」と明記した実効単価は公式の金額と含み通数から算出したもので、公式が掲示している値ではありません。価格・上限・提供機能は頻繁に更新されるため、実際の選定時は必ず各公式ページで最新値をご確認ください。
