WordPressサイトのメール送信エラーに関するトラブルシューティングは少し厄介です。例えば、Kinstaをはじめとする多くのマネージドWordPressホスティングは、メールホスティングを提供していません。Kinstaでは、MailChannels経由でメールをルーティングしていますが、細かな制御が必要な場合、大量にメールを送信する場合、あるいはメールの送信に問題がある場合は、サードパーティのSMTPサービス、またはMailgunやSendgridようなメールサービスをWordPressに導入するのがおすすめです。

今回は、WordPressにMailgunを導入してメールを送信する方法をご紹介します。

Mailgunのロゴ

Mailgunとは

Mailgunは、主に開発者向けに設計されたトランザクションメールAPIサービスですが、開発経験がなくても簡単に実装することができます。

Mailgunの大きな強みは、毎月1万通まで無料でメールを送信できること。それ以降の50万通も、送信量に応じて0.00050ドルからと安価に利用できます。中小企業やWordPress開発者では、月に1万通以上の送信が必要になることは稀でしょう。他にも、以下のようなメリットがあります。

  • HTTP APIまたはSMTPを使用してメールを送信できる(HTTP APIは信頼性が高く高速)
  • 他の受信トレイへの無料メール転送/ルーティングが可能([email protected]を個人のGmailアドレスに転送できる。この機能はすべてのサービスにあるわけでなく、API内でルーティングを設定できるサービスもあるが、Mailgunでは管理画面から誰でも設定可能)
  • メール配信率の向上
  • 送信メール数を正確に把握できるレポート
  • リアルタイムで検索可能なログ

アプリケーション開発者にとっての欠点として、最近メール検証APIの利用料金が値上げされましたが、ほとんどのWordPressサイトに不要な機能です。

WordPressでMailgunを設定する方法

Mailgunは、他のサービスと比較しても非常に設定が簡単で、数分程度でWordPressに導入可能です。

ステップ1

まずは、Mailgun.comの無料アカウントに登録します。登録後は、二要素認証を(2FA)を設定することを強くお勧めします。メール配信とルーティングは非常に重要であり、アカウントをハッキングされるのは何としても避けたいものです。

Mailgunで二要素認証(2FA)を設定
Mailgunで二要素認証(2FA)を設定

ステップ2

続いてはドメインを追加します。「Domains」タブをクリックして、「Add New Domain」をクリックします。

Mailgunでドメインを追加
Mailgunでドメインを追加

ステップ3

メール配信用のドメインを設定します。Mailgunでは、「mg.mydomain.com」のようなサブドメインの使用が推奨されており、他にも以下のようなドメインの選択に関する推奨事項があります。

  • mycompany.com(すでに企業メールで使用している場合を除く)
  • m.mycompany.comまたはmail.mycompany.com
  • mycompany.netまたはmycompany.org

今回は例として、以前のサービスですでにメール用に設定されていたルートドメインを使用しています。

Mailgunでドメインを設定
Mailgunでドメインを設定

ステップ4

メールをMailgunに紐づけるため、ドメインレジストラまたはサードパーティのDNSサービスでDNSレコードを追加します。2つのTXTレコード、2つのMXレコード、CNAMEを追加します。この手順が不明な場合は、利用するサービスに問い合わせてください。KinstaでプレミアムDNSをご利用の場合は、MyKinstaで設定可能です。サポートが必要な場合は、カスタマーサポートまでチャットにてお知らせください。

ドメインのDNSレコードを確認
ドメインのDNSレコードを確認

DNSレコードを追加したら、伝播を待ちましょう。通常は数分で完了しますが、最大24時間かかることがあります。伝播の完了はDNSMap(無料)のようなツールを使用すると確認できます。

MXレコードを確認
MXレコードを確認

Mailgunのコントロールパネルにある「Check DNS Records Now」をクリックして確認することもできます。

MailgunでDNSレコードを確認
MailgunでDNSレコードを確認

すべてのDNSレコードが伝播されると、以下のようにドメイン情報に「Active」のアイコンが表示されます。

Mailgunで有効になったドメイン
Mailgunで有効になったドメイン

ステップ 5

次に、Mailgunでメールを送信するようにWordPressサイトを設定します。無料のMailgunプラグインをダウンロードして、インストールしましょう。

Mailgunプラグイン
Mailgunプラグイン

現在は、4万以上のアクティブインストールを誇り、ユーザーレビューも5つ星中4と高評価です。WordPressリポジトリからダウンロードするか、WordPress管理画面の「プラグイン」>「新規追加」から検索してインストールしてください。Easy SMTPなどのプラグインを使用することもできますが、公式プラグインではSMTPに加えてHTTP APIの方式もサポートしているため、公式プラグインの使用をお勧めします。

HTTP API方式は、SMTP方式と比較して以下のようなメリットがあります。

  • SMTP接続には複数の障害ポイントがある
  • HTTP APIは通常、SMTPよりも待ち時間が短く高速
  • HTTP APIは、SMTPの標準的な認証方式に対してAPIキーで追加のセキュリティレイヤーを追加してくれる
  • WordPressホスティングは、SMTPは25、465、587番ポートによるアウトバウンド接続をブロック(または非推奨)していることがあるが、HTTP APIでは心配はない(Kinstaでは25番ポートのみブロック)

ステップ6

次にプラグインを接続します。Mailgunの「Domains」タブを開いて、APIキーをクリップボードにコピーします。

MailgunのAPIキー
MailgunのAPIキー

その後、Mailgunプラグインの設定ページに移動して、以下の設定を行います。

  • 「Use HTTP API」を「Yes」に設定
  • 「Mailgun Domain Name」にドメイン名を入力
  • 「API Key」フィールドにAPIキーを貼り付ける
  • 「From Address」に送信元アドレスを入力(例:[email protected]
  • 「From Name」に差出人名を入力
  • 「Override “From” Details」(サードパーティプラグインの差出人名を上書き)は「Yes」を推奨(これにより送信元を統一できる)
Mailgunプラグインの設定
Mailgunプラグインの設定

注)「Click Tracking」を有効にすると、WordPressのパスワードリセット機能が壊れる可能性があるという報告が出ているため、使用しない場合は「No」を選択する方が良いかもしれません。

ステップ7

すべての設定を終えたら、「Save Changes」をクリックして変更を保存します。次に、「Test Configuration」をクリックしてテストメールを送信し、正常に機能することを確認します。テストメールは、WordPressに設定しているメールアドレスに送信されます。

Mailgunの設定をテスト
Mailgunの設定をテスト

下のようなメールが届きます。

Mailgunのテストメール例
Mailgunのテストメール例

以上で完了です。これでWordPressサイトから送信するメールが、Mailgunのメールサーバー経由で送信されます。

メールのルーティング

Mailgunのもう一つの便利な機能は、簡単なルーティングです。受信者、ヘッダー、カスタム、またはキャッチオール方式に基づいて、メールを別の受信トレイに転送することができます。例えば、企業ドメインのルーティングを設定して、すべて個人のGmailアドレスに転送し、同じGmailアカウントからビジネスメールを送信するようにエイリアスを設定可能です。

関連して、ビジネスでGoogle Workspaceを利用するメリットはこちらでご紹介しています。

Mailgunのルーティング
Mailgunのルーティング

また、GmailのSMTPサーバーを使用して無料でメールを送信する方法もご紹介しています。