DEV Community

スシロー
スシロー

Posted on • Edited on

【2026】Mailchimp 代替のトランザクションメールAPI:料金・移行コストで選ぶ

結論(おすすめ1つ)

Postmark に乗り換えることを推奨する。

理由は3点。第一に、トランザクションメール専用設計のため到達率が高く、マーケティングメールと配信インフラを共有しない構造になっている。第二に、REST APIドキュメントとSDKの品質が高く、Mailchimp Transactional(旧Mandrill)からの移行コストが低い。第三に、バウンス・開封・クリックのWebhookが標準搭載されており、追加設定なしでイベント駆動の実装へ移行できる。

比較表(料金/無料枠/移行コスト/対応言語)

ツール 無料枠 月額目安 移行コスト 主要SDK
Postmark 公式の料金ページで要確認 公式の料金ページで要確認 低(SMTP互換・REST両対応) Node/Python/Ruby/PHP/Go 他
SendGrid 公式の料金ページで要確認 公式の料金ページで要確認 低(SMTP互換) Node/Python/Ruby/PHP/Go 他
Mailgun 公式の料金ページで要確認 公式の料金ページで要確認 低(SMTP互換) Node/Python/Ruby/PHP/Go 他
Amazon SES 公式の料金ページで要確認 公式の料金ページで要確認 中(IAM・サンドボックス解除等) AWS SDK 全言語
Resend 公式の料金ページで要確認 公式の料金ページで要確認 低(React Email連携が容易) Node/Python/Go 他

移行コストの評価基準:SMTP互換があれば接続設定の変更のみで切り替え可能(低)。SESはIAMロール・リージョン選択・サンドボックス解除など独自の設定ステップが積み重なる(中)。

移行手順

1. Postmarkアカウントを作成しドメイン認証を行う

公式サイトでアカウントを作成し、送信ドメインの SPF・DKIM レコードをDNSに追加して認証を完了させる。ダッシュボードの「API Tokens」でサーバーAPIキーを発行する。

2. 環境変数を差し替える

# .env
# 変更前(Mailchimp Transactional / Mandrill)
MANDRILL_API_KEY=md-xxxxxxxxxx

# 変更後(Postmark)
POSTMARK_API_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Enter fullscreen mode Exit fullscreen mode

3. SMTP経由で接続している場合は接続先を変更する

# 例:ActionMailer / Nodemailer 等のSMTP設定値
smtp:
  host: smtp.postmarkapp.com
  port: 587
  username: <POSTMARK_API_KEY>   # ユーザー名にAPIキーをそのまま使用
  password: <POSTMARK_API_KEY>   # パスワードも同じAPIキー
  tls: true
Enter fullscreen mode Exit fullscreen mode

4. REST APIに直接移行する(推奨)

curl -X POST https://api.postmarkapp.com/email \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Postmark-Server-Token: $POSTMARK_API_KEY" \
  -d '{
    "From": "sender@example.com",
    "To": "recipient@example.com",
    "Subject": "注文確認",
    "HtmlBody": "<p>ご注文ありがとうございます。</p>",
    "TextBody": "ご注文ありがとうございます。",
    "MessageStream": "outbound"
  }'
Enter fullscreen mode Exit fullscreen mode
# Python(postmarker ライブラリ使用)
from postmarker.core import PostmarkClient

client = PostmarkClient(server_token="$POSTMARK_API_KEY")
client.emails.send(
    From="sender@example.com",
    To="recipient@example.com",
    Subject="注文確認",
    HtmlBody="<p>ご注文ありがとうございます。</p>",
)
Enter fullscreen mode Exit fullscreen mode

5. Webhookエンドポイントを登録する

ダッシュボードの「Webhooks」から、バウンス・開封・配信・スパム報告イベントを受け取るエンドポイントURLを登録する。Mandrill側で設定していたWebhookと同等のイベント種別を選択すれば、既存のイベント処理ロジックをほぼそのまま流用できる。

6. 動作確認後に旧設定を削除する

本番送信を少量でテストして到達・Webhook受信を確認してから、Mandrillダッシュボードで旧APIキーを無効化し、Webhookを削除する。

向き不向き

向いているチーム・用途

  • パスワードリセット・購入確認・通知など、到達率がサービス品質に直結するトランザクションメールを送るチーム
  • バックエンドエンジニアが少なく、インフラ設定の複雑さを最小限にしたい小〜中規模プロダクト
  • Mandrillのコスト増や仕様変更を受けて早急に代替を探しているチーム(SMTP互換のため最短1日での切り替えが現実的)
  • バウンス・開封イベントをWebhookで受け取り、再送ロジックやログ処理を自前実装したいチーム

避けるべきケース

  • マーケティングメール(ニュースレター・一斉配信)もトランザクションと同一プラットフォームで管理したい場合:Postmarkはトランザクション専用設計のため、SendGridやMailgunの方が適している
  • AWSインフラに統一済みでIAM管理を一元化したい大規模チーム:Amazon SESの方がコスト効率・権限管理の面で優位になることが多い
  • React/Next.js主体のフロントエンドチームがメールHTMLも自社でコンポーネント管理したい場合:Resend+React Emailの組み合わせが開発体験として上回る
  • 月間送信数が数百万通を超えるスケールで単価コストの最小化が最優先の場合:SESまたはMailgunの大口プランを公式の料金ページで精査した上で判断すること

If you found this useful: I packaged 50 copy-paste AI debugging prompts + drop-in Claude Code config templates (CLAUDE.md, settings.json, MCP) into a small kit.
Launch deal: code START50 = 50% off → 50 AI Debugging Prompts + Claude Code Config Pack (about $6, 50% off applied)
New: my 10-chapter ebook Practical Claude Code — automation & unattended operation (about $9, 50% off applied)

Top comments (0)