本文へスキップ
spacepost

比較

トランザクションメール向けの SendGrid 代替

SpacePost は Amazon SES 上のトランザクションメール API で、EU の企業が運営しています。アプリが SendGrid で領収書、パスワード再設定、通知を送っているなら、各部分の移行方法と、SendGrid のほうが多くできる点をここで確認できます。

このページはトランザクションメールを対象としています。SpacePost にはオーディエンスとシンプルなブロードキャストがありますが、SendGrid Marketing Campaigns(オートメーション、登録フォーム、A/B テスト、ビジュアルエディター)の代わりにはなりません。

SendGrid の概念との対応

項目SendGridSpacePost
送信 APIv3 Mail Send:personalizations(1 リクエストあたり最大 1,000)付きの POST /v3/mail/send、202 Accepted を返すPOST /emails(to、cc、bcc を含む 1 通)または POST /emails/batch(最大 100 通)、メール ID を返す
SMTPsmtp.sendgrid.net、ポート 25、587、2525(TLS)または 465(SSL)、ユーザー名 apikeysmtp.spacepost.dev、ポート 25976(STARTTLS)、ユーザー名 spacepost、パスワードは API キー
テンプレートSendGrid に保存されるダイナミックテンプレート(ID は d- で始まる)、Handlebars、dynamic_template_data で値を埋め込むホスト型テンプレートはまだありません。アプリ側で HTML を生成し(例:React Email)、html と text を送信します
配信停止リストバウンス、ブロック、スパム報告、無効なアドレス、配信停止グループチームごとに 1 つの配信停止リスト:ハードバウンス、苦情、繰り返しのソフトバウンスは自動で追加。独自のアドレスは POST /suppressions で追加
イベント WebhookEvent Webhook:イベントの JSON 配列(processed、delivered、deferred、bounce、dropped、open、click、spam report、unsubscribe)、署名付きも可イベント種別ごとの Webhook(email.sent、delivered、delivery_delayed、bounced、complained、opened、clicked、failed、suppressed)、1 リクエスト 1 イベント、Standard Webhooks 署名
EUグローバル API に加え、EU リージョンのサブユーザー向けの EU ホスト(api.eu.sendgrid.com)EU 企業の Studio 404 d.o.o. が運営、AWS eu-central-1(フランクフルト)から送信、データは EU 内に保存
マーケティングメールMarketing Campaigns:連絡先、セグメント、オートメーション、登録フォームオーディエンス、連絡先、ワンクリック配信停止付きのブロードキャスト。オートメーションとビジュアルエディターはありません

移行の手順

  1. 01

    キーとドメイン

    SpacePost の API キーを作成し、送信ドメインを認証します(DKIM の CNAME 3 件と MAIL FROM レコード)。切り替えまでは SendGrid の DNS レコードを残しておきます。

  2. 02

    送信の呼び出し

    personalization 1 件が POST /emails 1 回になります。to、cc、bcc、subject、html または text、reply_to、base64 の添付ファイル、カスタムヘッダーはそのまま使えます。最大 100 通をまとめて送るには POST /emails/batch を使います。

  3. 03

    SMTP だけでも

    ホストを smtp.spacepost.dev、ポートを 25976(STARTTLS)、ユーザー名を spacepost、パスワードを API キーに変更します。

  4. 04

    テンプレート

    送信前にダイナミックテンプレートをコード内で描画します。Handlebars のソースは任意の Handlebars ライブラリで再利用できます。

  5. 05

    配信停止リスト

    SendGrid からバウンス、ブロック、スパム報告、配信停止をエクスポートし、各アドレスを POST /suppressions で追加すれば、二度と送信されません。

  6. 06

    Webhook

    使用するイベントの Webhook を作成し、SendGrid のイベント名を SpacePost の名前に対応させます。署名は Standard Webhooks に準拠しているため、Svix 互換のライブラリで検証できます。

同じメッセージの移行前と移行後

sendgrid.ts
// SendGrid v3 Mail Send
await fetch("https://api.sendgrid.com/v3/mail/send", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.SENDGRID_API_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({
    personalizations: [{ to: [{ email: "ada@example.com" }] }],
    from: { email: "receipts@acme.com", name: "Acme" },
    subject: "Your receipt",
    content: [{ type: "text/html", value: html }],
  }),
});
spacepost.ts
// SpacePost (Resend-compatible API)
const res = await fetch("https://api.spacepost.dev/emails", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.SPACEPOST_API_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({
    from: "Acme <receipts@acme.com>",
    to: ["ada@example.com"],
    subject: "Your receipt",
    html,
  }),
});
const { id } = await res.json();

SendGrid のほうが多くできること

  • デザインエディター付きのホスト型ダイナミックテンプレートと、オートメーションや登録フォームを備えた Marketing Campaigns。
  • メール受信用の Inbound Parse。SpacePost はまだ提供していません。
  • 非常に大きな送信量での長年の運用実績と、サブユーザーやリージョンにトラフィックを分ける多くの方法。

SendGrid の情報は 2026年10月29日 時点の twilio.com/docs/sendgrid(Mail Send API、SMTP 連携、Event Webhook)に基づきます。変更される可能性があります。古くなっている点があれば support@spacepost.dev までお知らせください。

SpacePost は独立した製品であり、Twilio や SendGrid とは提携しておらず、承認も受けていません。「SendGrid」と「Twilio」は各所有者の商標です。

ご自身のアプリで試す

毎月 3,000 通まで無料、カード登録は不要です。

無料で始める