2026年5月20日

2026年5月20日

WordPressのMailgunを設定してメール配信を改善する方法

はじめに

MailgunはMailchimp Transactionalが提供するメール配信APIサービスです。月間1,000通まで無料で利用でき、高い到達率と詳細な配信ログが特徴です。WordPressのメール送信基盤として非常に安定しています。

事前準備:Mailgunアカウントと送信ドメインの設定

1. mailgun.com でアカウント作成(クレジットカード不要)

2. Sending → Domains → Add New Domain

3. ドメイン名: mg.example.com(サブドメイン推奨)を入力

4. 生成されたDNSレコードをドメイン管理画面に追加

必要なDNSレコード:

TXT  mg.example.com   "v=spf1 include:mailgun.org ~all"
TXT  mx._domainkey.mg.example.com   "k=rsa; p=MIGfMA..."
MX   mg.example.com   mxa.mailgun.org (優先度10)
MX   mg.example.com   mxb.mailgun.org (優先度10)

解決手順

ステップ1:APIキーを取得

Settings → API Keys → Create API Key(Sending access権限)

ステップ2:phpmailer_initでMailgun SMTP設定

// functions.php — Mailgun SMTP接続(EU/USリージョン対応)
add_action('phpmailer_init', function(PHPMailer\PHPMailer\PHPMailer $phpmailer) {
    $phpmailer->isSMTP();
    // US: smtp.mailgun.org / EU: smtp.eu.mailgun.org
    $phpmailer->Host       = 'smtp.mailgun.org';
    $phpmailer->SMTPAuth   = true;
    $phpmailer->Port       = 587;
    $phpmailer->Username   = defined('MAILGUN_SMTP_USER') ? MAILGUN_SMTP_USER : '';
    $phpmailer->Password   = defined('MAILGUN_SMTP_PASS') ? MAILGUN_SMTP_PASS : '';
    $phpmailer->SMTPSecure = PHPMailer\PHPMailer\PHPMailer::ENCRYPTION_STARTTLS;
    $phpmailer->From       = 'noreply@mg.example.com';
    $phpmailer->FromName   = get_bloginfo('name');
});
// wp-config.php
define('MAILGUN_SMTP_USER', 'postmaster@mg.example.com'); // Mailgunが自動生成
define('MAILGUN_SMTP_PASS', 'your_mailgun_smtp_password');

MailgunダッシュボードのDomain Settings → SMTP credentialsでユーザー名とパスワードを確認できます。

ステップ3:Mailgun WordPress プラグインを使用する場合

wp plugin install mailgun --activate

管理画面 → 設定 → Mailgun:

  • API or SMTP: API を選択(推奨)
  • API Key: 取得したAPIキー
  • Domain: mg.example.com

ステップ4:配信確認

# WP-CLIでテスト送信
wp eval "
\$result = wp_mail('test@example.com', 'Mailgunテスト', 'Mailgun経由の送信テストです。');
var_dump(\$result);
"

MailgunダッシュボードのLogging → Logs で配信ステータスを確認できます。

Mailgunの料金プラン

| プラン | 月間送信数 | 料金 |

|--------|-----------|------|

| Flex(無料枠あり) | 1,000通/月 | 無料 |

| Foundation | 50,000通/月 | $35〜 |

| Growth | 100,000通/月 | $80〜 |

注意事項

  • 新規アカウントは「Sandbox Domain」から始まります。本番使用には独自ドメインの追加と本人確認が必要です
  • EU在住のユーザーへ送信する場合はEUリージョン(smtp.eu.mailgun.org)を使用してください
  • SMTP認証情報はAPIキーとは別物です。MailgunダッシュボードのDomain Settingsから確認してください

まとめ

Mailgunの設定は、送信ドメインのDNS認証 → SMTP認証情報の取得 → phpmailer_init フックで接続設定の順で行います。月1,000通まで無料で高い到達率を実現できます。

お気軽にご相談ください

お見積りへ お問い合わせへ