WordPressサイトのメール送信エラーに関するトラブルシューティングは少し厄介です。例えば、Kinstaをはじめとする多くのマネージドWordPressホスティングは、メールホスティングを提供していません。Kinstaでは、MailChannels経由でメールをルーティングしていますが、細かな制御が必要な場合、大量にメールを送信する場合、あるいはメールの送信に問題がある場合は、サードパーティのSMTPサービス、またはMailgunやSendgridようなメールサービスをWordPressに導入するのがおすすめです。
今回は、WordPressに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)を設定することを強くお勧めします。メール配信とルーティングは非常に重要であり、アカウントをハッキングされるのは何としても避けたいものです。
ステップ2
続いてはドメインを追加します。「Domains」タブをクリックして、「Add New Domain」をクリックします。
ステップ3
メール配信用のドメインを設定します。Mailgunでは、「mg.mydomain.com」のようなサブドメインの使用が推奨されており、他にも以下のようなドメインの選択に関する推奨事項があります。
- mycompany.com(すでに企業メールで使用している場合を除く)
- m.mycompany.comまたはmail.mycompany.com
- mycompany.netまたはmycompany.org
今回は例として、以前のサービスですでにメール用に設定されていたルートドメインを使用しています。
ステップ4
メールをMailgunに紐づけるため、ドメインレジストラまたはサードパーティのDNSサービスでDNSレコードを追加します。2つのTXTレコード、2つのMXレコード、CNAMEを追加します。この手順が不明な場合は、利用するサービスに問い合わせてください。KinstaでプレミアムDNSをご利用の場合は、MyKinstaで設定可能です。サポートが必要な場合は、カスタマーサポートまでチャットにてお知らせください。
DNSレコードを追加したら、伝播を待ちましょう。通常は数分で完了しますが、最大24時間かかることがあります。伝播の完了はDNSMap(無料)のようなツールを使用すると確認できます。
Mailgunのコントロールパネルにある「Check DNS Records Now」をクリックして確認することもできます。
すべてのDNSレコードが伝播されると、以下のようにドメイン情報に「Active」のアイコンが表示されます。
ステップ 5
次に、Mailgunでメールを送信するようにWordPressサイトを設定します。無料の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プラグインの設定ページに移動して、以下の設定を行います。
- 「Use HTTP API」を「Yes」に設定
- 「Mailgun Domain Name」にドメイン名を入力
- 「API Key」フィールドにAPIキーを貼り付ける
- 「From Address」に送信元アドレスを入力(例:[email protected])
- 「From Name」に差出人名を入力
- 「Override “From” Details」(サードパーティプラグインの差出人名を上書き)は「Yes」を推奨(これにより送信元を統一できる)
注)「Click Tracking」を有効にすると、WordPressのパスワードリセット機能が壊れる可能性があるという報告が出ているため、使用しない場合は「No」を選択する方が良いかもしれません。
ステップ7
すべての設定を終えたら、「Save Changes」をクリックして変更を保存します。次に、「Test Configuration」をクリックしてテストメールを送信し、正常に機能することを確認します。テストメールは、WordPressに設定しているメールアドレスに送信されます。
下のようなメールが届きます。
以上で完了です。これでWordPressサイトから送信するメールが、Mailgunのメールサーバー経由で送信されます。
メールのルーティング
Mailgunのもう一つの便利な機能は、簡単なルーティングです。受信者、ヘッダー、カスタム、またはキャッチオール方式に基づいて、メールを別の受信トレイに転送することができます。例えば、企業ドメインのルーティングを設定して、すべて個人のGmailアドレスに転送し、同じGmailアカウントからビジネスメールを送信するようにエイリアスを設定可能です。
関連して、ビジネスでGoogle Workspaceを利用するメリットはこちらでご紹介しています。
また、GmailのSMTPサーバーを使用して無料でメールを送信する方法もご紹介しています。