APIファーストのメールサービスを選ぶ開発者ガイド
メールを製品機能として組み込むときは、送信方法だけでなく、失敗時の動作、同意、ドメイン認証、運用の担当範囲まで決める必要があります。このページでは、特定のサービスを順位付けせず、設計と料金を同じ観点で比べます。
APIファーストの意味
APIファーストのメール基盤では、アプリケーションがHTTPのREST APIを呼び出し、送信結果のメッセージIDと構造化されたエラーを受け取ります。SMTPは互換性のために残し、古いアプリケーションや移行中のワークロードに使えます。送信元、宛先、テンプレート、抑制リストを一貫したデータモデルで管理できるか確認します。
Webhookは配信、バウンス、苦情などの状態を受け取る入口です。署名検証、イベントIDによる重複排除、再送に耐える処理を実装し、受信処理から顧客向けの更新を切り離します。APIの認証鍵はサーバーだけに置き、環境ごとに分けます。
テンプレートとテスト環境
製品の通知テンプレートをコードで管理すると、レビューと履歴をリリース工程に組み込めます。管理画面のテンプレートは、キャンペーン担当者が文面を更新したい場合に便利です。変数名、必須項目、リンクの生成規則を文書化し、変更前後を比較できる状態にします。
本番と別のテスト環境、テスト用ドメイン、実在しない宛先への配信制御を用意します。Webhookの署名検証、失敗時の再送、テンプレートの表示を本番の受信者に影響させず確認できることが重要です。
トランザクションとマーケティングを分ける
アカウント確認、請求書、パスワード再設定は、利用者の操作に応じて必要になるトランザクションメールです。ニュースレターや告知は、受信に同意した人へ送るマーケティングメールです。目的、同意の記録、配信停止の扱いが違うため、同じ送信キューに混ぜない設計が運用しやすくなります。
サブドメインやメッセージストリームを分け、誰がどの鍵を使えるか定義します。個人情報は必要な項目だけを渡し、保存期間と削除手続きを決めます。法令上の要件は地域と用途で変わるため、法務とプライバシー担当の確認も工程に含めます。
キュー、リトライ、冪等性
送信APIの呼び出しをリクエスト処理と同じトランザクションに置くと、外部サービスの遅延が製品画面へ伝わります。アプリケーションからキューへメッセージを置き、ワーカーが送信する構成なら、ピークを平準化して再処理を管理できます。
タイムアウトや一時的な5xxには指数バックオフと上限回数を使い、永続的な4xxは修正待ちのキューへ送ります。同じ注文やイベントが再実行されても二重送信にならないよう、論理メッセージごとの冪等性キーを保存します。プロバイダーがキーを受け付ける操作と保持期間は仕様を確認します。
到達率の設定
SPFはドメインを代表して送信できるサーバーをDNSで示します。DKIMは送信時に署名し、受信側が公開鍵で検証します。DMARCはFromドメインとの整合を確認し、失敗時にレポート、隔離、拒否の扱いを指定します。複数の送信基盤を使う場合は、SPFの参照回数やDKIMセレクターの管理も整理します。
新しい送信元は少量から始め、バウンスと苦情を監視します。配信停止と抑制リストを全ての送信経路で尊重し、キャンペーンの同意とトランザクションの必要性を混同しません。
可観測性と担当分担
送信要求、プロバイダーのメッセージID、配信イベント、バウンス、苦情を相関できるログを残します。ダッシュボードではキューの滞留、APIエラー、バウンス理由、苦情イベントを分けて見ます。Webhookが停止したときに再取得できる期間と、自社へ転送するログの保存期間も決めます。
エンジニアリングはAPI鍵、キュー、リトライ、DNS、監視を担当し、プロダクトやマーケティングは目的、同意、文面、配信停止を担当します。運用担当は苦情や誤配信の受付と停止手順を持ちます。イベントと抑制リストの所有者は1か所に決めます。
料金と機能の比較
下表は各サービスの料金プランと請求単位を同じ形式で並べたものです。通数が近くても、固定料金、従量単価、超過料金、ログやIPの追加費用が異なります。
| サービス | 料金プランと通数 | 請求単位 |
|---|---|---|
| Postmark | 無料 100通/月。Basic 15ドル/月、Pro 16.50ドル/月、Platform 18ドル/月(10,000通)。50,000通はBasic 55ドル、Pro 60.50ドル、Platform 66ドル/月。125,000通はBasic 115ドル、Pro 126.50ドル、Platform 138ドル/月。 | 月間送信数 |
| Resend | Free 3,000通/月(1日100通)。Pro 20ドル/月(50,000通)、35ドル/月(100,000通)。Scale 160ドル/月(200,000通)。 | 月間送信数 |
| Mailgun | Basic 15ドル/月(10,000通)。Foundationは初月以降35ドル/月(50,000通)。 | 月間送信数 |
| SendGrid | Essentials 19.95ドル/月から(50,000〜100,000通の帯)。100,000通は34.95ドル/月。 | 月間送信数 |
| Amazon SES | Essentials 0.16ドル/1,000通(0〜10,000,000通/月の帯)。 | 1,000通単位の従量 |
| Sequenzy | 無料 2,500通/月。15,000通で19ドル/月。 | 月間送信数 |
月10,000・50,000・100,000通で見る
月10,000通では、PostmarkのBasic、Pro、Platformがそれぞれ15ドル、16.50ドル、18ドル/月です。Mailgun Basicは15ドル/月、Amazon SES Essentialsは1,000通あたり0.16ドルなので、送信量だけなら1.60ドルになります。Resend ProとSendGrid Essentialsは表にある下限通数から比較します。
月50,000通では、PostmarkはBasic 55ドル、Pro 60.50ドル、Platform 66ドル/月、Resend Proは20ドル/月、Mailgun Foundationは初月以降35ドル/月です。SendGrid Essentialsは19.95ドル/月からの帯に入ります。
月100,000通では、Resend Proが35ドル/月、SendGrid Essentialsが34.95ドル/月です。Postmarkは125,000通のBasicが115ドル/月で、Amazon SES Essentialsは16ドルになります。実際の予算には超過、税、専用IP、ログ保存、自社のキューと監視を加えます。
Postmark
Postmarkは無料枠が100通/月で、Basic、Pro、Platformの段階が10,000通、50,000通、125,000通へ広がります。送信ストリームを分けられる構成では、トランザクションとマーケティングのイベントを別々に監視できます。料金表の通数区分と超過条件を、予測するピークと照らし合わせます。
Resend
ResendはFreeが3,000通/月で、1日100通の上限があります。Proは50,000通で20ドル/月、100,000通で35ドル/月、Scaleは200,000通で160ドル/月です。API中心の構成を検討する際は、Webhookを自社のイベント処理へ接続し、テスト環境の送信制御を先に決めます。
Mailgun
MailgunはAPIとSMTPリレーを同じ送信基盤で扱えます。Basicは10,000通で15ドル/月、Foundationは50,000通で初月以降35ドル/月です。既存SMTPからAPIへ移行する場合は、抑制リストとWebhookのイベント形式を先に対応表へまとめます。
SendGrid
SendGrid Essentialsは50,000〜100,000通の帯で19.95ドル/月から始まり、100,000通では34.95ドル/月です。トランザクションとキャンペーンを同じアカウントで運用するなら、ドメイン、権限、配信停止、イベントログの境界を決めます。
Amazon SES
Amazon SES Essentialsは0〜10,000,000通/月の帯で、1,000通あたり0.16ドルです。月10,000通なら1.60ドル、50,000通なら8ドル、100,000通なら16ドルという計算になります。キュー、リトライ、イベント処理、監視を自社で設計する前提で比較します。
1つの基盤で両方を扱う場合
チームが小さく、同意管理、抑制リスト、ドメイン分離、権限、イベントログを1つの基盤で明確に分けられるなら、運用を統合できます。キャンペーンの大量送信がトランザクションのキューや評判へ影響しない制御を確認します。要件が異なる場合は2つの基盤を使い、停止情報と苦情を同期する方が境界を保ちやすくなります。
よくある質問
APIファーストとは何ですか?
送信やテンプレート操作を管理画面ではなくHTTP APIを中心に自動化する設計です。SMTPを残しつつ、アプリケーションからはJSONのリクエストとレスポンスを標準にできます。
REST APIとSMTPはどちらを使うべきですか?
送信ID、構造化エラー、Webhook連携が必要な新しいサービスではREST APIが扱いやすい傾向があります。既存のメールサーバーや古いライブラリを活用する移行ではSMTPが役立ちます。両方を同じ基盤で使える構成もあります。
トランザクションメールとマーケティングメールを分ける理由は?
パスワード再設定などの必要な通知と、購読者の同意に基づくキャンペーンでは目的と停止条件が異なります。サブドメイン、ストリーム、権限を分けると、キャンペーンの問題が重要な通知に波及しにくくなります。
Webhookを導入すると何が変わりますか?
配信、バウンス、苦情などのイベントをサービス側から受け取れます。受信エンドポイントで署名を検証し、イベントIDを保存して重複を処理し、重い処理はキューに渡します。
テンプレートをコードで管理する利点は?
レビュー、変更履歴、環境ごとの差分をリポジトリで追跡できます。担当者が管理画面で変更するテンプレートと、リリースと同時に更新する通知テンプレートを分ける方法もあります。
SPF・DKIM・DMARCは何を設定しますか?
SPFは送信元サーバーの許可、DKIMは署名、DMARCはFromドメインの整合と受信側の扱いを定義します。まずレポートを受けるポリシーで確認し、正当な送信を把握してから厳しいポリシーへ移行します。
月10,000通、50,000通、100,000通の比較で注意する点は?
同じ通数でも固定の月額、1,000通単位の従量課金、超過料金、ログ保存などの条件が違います。対象プランと請求単位をそろえ、自社のキューや監視の運用費も別に見積もります。
1つの基盤でトランザクションとマーケティングを扱ってよいですか?
分離機能、同意管理、抑制リスト、権限、送信ドメインが十分なら可能です。小規模チームでは運用をまとめる利点があります。別基盤にする場合は、配信停止と苦情の情報を双方へ同期します。