← Blog

Mailgunから Mailer To Goへの移行方法

ガイド 移行、SMTP、配信可能性、Mailgun July 9, 2026 by メーラートゥゴーチーム
Mailgunからmailer To Goへのトランザクショナルメール移行ステップバイステップガイド:送信ドメイン設定、SPF/DKIM/DMARC、SMTP/API認証情報の切り替え、バウンス/配信停止/苦情のインポート、ロールバック機能付き安全な並行実行カットオーバー。

Mailgun から Mailer To Go への移行は、DNS と認証情報の管理された入れ替え — 再構築ではありません。本当の作業は、抑制データの移行と段階的な切り替えで、送信レピュテーションを守ることです。ここでは、正確な設定と戻せるロールアウトを含めた全プロセスを順序立てて説明します。

まだ検討中ですか? Mailgun の代替製品 の投稿が理由を説明しています。ここでは方法を説明します。

開始前: Mailgun が何をしているかインベントリする

何かを変更する前にこれらをメモします:

ステップ 1 — Mailer To Go 送信ドメインを作成する

mailertogo.com にサインアップし、送信サブドメイン を追加します。既に Mailgun の mg.yourdomain.com を使用していた場合、mtg.yourdomain.com に移行すると、ルートドメインからの同じクリーン分離が保たれます — そして DNS を委譲していれば管理できます。Mailer To Go が mtg.yourdomain.com から送信する理由 を参照してください。

ステップ 2 — 認証 (SPF、DKIM、DMARC)

ダッシュボードから SPF、DKIM、DMARC レコードを公開します。既に Mailgun で同等の作業をしているので、これは似ているように感じるでしょう — 違いはレコード値です。重複期間中、両方のプロバイダーをドメインで認可し続けます。実際のレコードと dig 検証: メール認証、端から端まで

ステップ 3 — 認証情報を入れ替える

SMTP。 Mailgun の設定は smtp.mailgun.orgpostmaster@mg.yourdomain.com スタイルのユーザー名を使用します。同じメーラーを再ポイントします:

# 前 — Mailgun
host: smtp.mailgun.org   port: 587
username: postmaster@mg.yourdomain.com
password: <your Mailgun SMTP password>

# 後 — Mailer To Go
host: smtp.<region>.mailertogo.net   port: 587
username: <MAILERTOGO_SMTP_USER>
password: <MAILERTOGO_SMTP_PASSWORD>

Rails ではこれはコード変更ではなく環境変更です:

# config/environments/production.rb
config.action_mailer.smtp_settings = {
  address:              ENV["MAILERTOGO_SMTP_HOST"],   # smtp.<region>.mailertogo.net
  port:                 587,
  user_name:            ENV["MAILERTOGO_SMTP_USER"],
  password:             ENV["MAILERTOGO_SMTP_PASSWORD"],
  authentication:       :plain,
  enable_starttls_auto: true
}

API。 Mailgun の API を呼び出す場合、最小限の移行は SMTP へのトランスポート切り替えです。Node では mailgun.js を Nodemailer に置き換えます:

// 前 — mailgun.js
// const mg = mailgun.client({ username: "api", key: process.env.MAILGUN_API_KEY });
// await mg.messages.create(DOMAIN, { to, from, subject, html });

// 後 — Mailer To Go SMTP 経由の Nodemailer
const nodemailer = require("nodemailer");
const transport = nodemailer.createTransport({
  host: process.env.MAILERTOGO_SMTP_HOST,
  port: 587,
  auth: { user: process.env.MAILERTOGO_SMTP_USER, pass: process.env.MAILERTOGO_SMTP_PASSWORD },
});
await transport.sendMail({ to, from, subject, html });

ステップ 4 — 抑制リストをインポート (スキップしないこと)

切り替え前に Mailgun からバウンス、登録解除、クレームをエクスポートします — ダッシュボードから、または API 経由:

curl -s --user "api:$MAILGUN_API_KEY" \
  https://api.mailgun.net/v3/mg.yourdomain.com/bounces > bounces.json
curl -s --user "api:$MAILGUN_API_KEY" \
  https://api.mailgun.net/v3/mg.yourdomain.com/unsubscribes > unsubscribes.json
curl -s --user "api:$MAILGUN_API_KEY" \
  https://api.mailgun.net/v3/mg.yourdomain.com/complaints > complaints.json

これらのアドレスを Mailer To Go 抑制リストに読み込むので、Mailgun でバウンスまたはオプトアウトした誰もが再度メール送信されません。これが完了するまで、本番メッセージを 1 つも送信しないでください。

ステップ 5 — ウォームアップと段階的な切り替え

新しい送信ドメインは評判なしで始まります。Mailgun と Mailer To Go を並行して実行 し、1 〜 2 週間かけてトラフィックを段階的に移行します — 10% → 25% → 50% → 100% — 信頼度の高いメール (レシート、パスワードリセット) から開始します。各増分で バウンスとクレーム率を監視し、完了するまで Mailgun がトラフィックを受け取れるようにします。

ステップ 6 — 検証し、本番環境を停止する

ロールバック

切り替えは認証情報 + DNS なので、ロールバックは環境変数を Mailgun に再ポイントするだけです。重複を通じて両方のプロバイダーを認可し続けることが、ロールバックを 1 行の変更にします。


サブドメイン送信または認証に新しいですか? Mailer To Go が mtg.yourdomain.com から送信する理由SPF/DKIM/DMARC セットアップ ガイド を参照してください。別のプロバイダーから来ていますか? SendGrid から Mailer To Go への移行 を参照してください。