WordPressがメールを送信しない場合のトラブルシューティングは、少し難しい場合があります。なぜかというと、多くのマネージドWordPress専用サーバー会社は従来の電子メールサーバーを提供しないためです。
Kinstaでは、SendGridを使用してトランザクションメールをルーティングします。トランザクションメールには例えば、新規ユーザー登録のメール、パスワードリセットのメール、WooCommerce注文の通知メールなどがあります。基本的に、サイトの機能などマーケティング以外の内容ののすべてのメールのことです。つまり、通常はメールを気にしなくてもかまいません。
ただし、SendGridのリレーサービスは、大量のメールを送信するためのものではありません。また、スパムや不正行為を防止するために1日に送信できるトランザクションメールの数にも制限があります。
したがって、DNSレコード(DKIM)を完全に制御したいお客様、またはメールの送信に問題が発生しているお客様なら、サードパーティのSMTPプロバイダー(トランザクションメールサービス)を使用して独自のWordPress設定を行うと便利です。
今日は、WordPressでSendGridを設定してメールを送信する方法をご案内します。
- SendGridとは?
- SendGridアカウントとAPIキーを作成する
- 公式プラグインを使用してWordPressでSendGridを設定するには
- Post SMTPプラグインを使用してWordPressでSendGridを設定するには
- SendGridのドメイン認証の設定
SendGridとは?
SendGrid(現在Twilioが所有)は、Uber、Spotify、Yelp、Airbnb、さらにはKinstaなど、有名なブランドに使用されています。当初は、開発者向けに設計されたトランザクション電子メールSMTPおよびAPIサービスとして始まりました。ただし、現在はメールマーケティング機能も提供するようになりました。したがって、どちらか一方または両方の機能が利用可能です。今日は、おそらく、ほとんどのお客様がご利用になりたい機能であるため、トランザクションメール機能に焦点を当てます。
SendGridには30日間の無料のトライアル版があり、その期間中に最大40,000通のメールを送信できます。その後は、無料のトライアル版をいつまでも無料で使用し続けられますが、1日あたり最大100通のメールしか送信できません。
メールをそれ以上送信したい場合、月あたり40,000通のメールを送信できるEssentialsプランは月額14.95ドルから始まります。追加メールあたりの費用は0.001ドルです。しかし、より高いレベルのプランにアップグレードすると、より多くのお金を節約することもできます。
追加の利点は次のとおりです。
- Web APIまたはSMTPを使用してメールを配信する機能。Web APIはより高速であり、ユーザーの登録解除、IP管理、電子メールのテンプレート化などの機能を備えています。
- 共有IPから送信しても専用IPから送信しても、ドメインとリンクのカスタマイズにより、ユーザーの受信トレイに入るように、配信率を改善します。
- カスタムのSPFおよびDKIMレコードの作成により、ドメインのなりすましやフィッシングメールを排除します。
- 安全で分散された冗長なデータセンターを介した継続的なメールフロー。
- ライブで検索可能なログ。
SendGridアカウントとAPIキーを作成する
最初に、SendGridアカウントを作成し、APIキーを生成します。以下の手順に従ってください。
ステップ1
SendGrid.comで無料トライアル版にサインアップします。次に、確認メールをクリックしてアカウントを認証します。

ステップ2
アクセス後に、2要素認証を設定することを強くお勧めします。メールの配信とルーティングは非常に重要であり、アカウントへの不正アクセスは最悪なことです。2要素認証により、アカウントがさらに保護されます。設定するにはは、「”Settings」(設定)→「Two-Factor Authentication」(2要素認証)にアクセスします。
Authyアプリ(推奨)またはテキストメッセージ(SMS)の2つのオプションがあります。

ステップ3
次に、SendGridのAPIキーを生成します。「Settings」(設定)→「API Keys」(APIキー)をクリックします。 次に、「Create API Key」(APIキーの作成)をクリックします。

ステップ4
APIにわかりやすい名前を付けます。こらは非常に重要です。「Full Access」(フルアクセス)を選択し、「Create & View」(作成と表示)をクリックします。

APIキーが2度と表示されないため、この段階でコピーして、安全に保存します。以下のプラグインを設定するには、APIキーが必要になります。

公式プラグインを使用してWordPressでSendGridを設定するには
SendGridを使用してメールを送信するようにWordPressを設定するのは簡単で、数分しかかかりません。
ステップ1
最初の選択肢は、無料の公式SendGrid WordPressプラグインを使用することです。これは非常にシンプルなプラグインで、デフォルトのwp_mail関数を置き換えてメールを送信します。つまり、プラグインをインストールして設定すると、サイトから送信されるメールがプラグインに制御されるようになります。

WordPressのリポジトリからもダウンロードできますが、WordPressダッシュボードの「プラグイン」→「新規追加」で検索することもできます。
ステップ2
プラグインをインストールしたら、WordPressダッシュボードの「設定」→「SendGrid」をクリックします。以前に生成したSendGrid APIキーに加えて、以下を入力します。
- Name(名前): 受信者クライアントに表示される名前。
- Sending Address(送信元アドレス):メッセージの送信元の電子メールアドレス。

次に「Update Settings」(設定の更新)をクリックします。以上です!簡単でしょう!これで、WordPressサイトから送信されるすべてのメールは、SendGridのメールサーバーを経由して送信されるようになりました。
ステップ3
SendGridプラグインの設定画面を下にスクロールすると、自分にテストメールを送信できます。

必ず受信トレイと迷惑メールフォルダーをチェックして、テストメールが届いたかどうかを確認してください。SendGridのアクティビティフィードも確認できます。

ステップ4
次に、「SendGridのドメイン認証の設定」にジャンプします。
Post SMTPプラグインを使用してWordPressでSendGridを設定するには
もう一つの選択肢は、人気のある無料のPost SMTPプラグインでSendGridを構成することです。おそらくあなたも、他の用途でこのプラグインをすでに使用しているかもしれないため、SendGridに切り替えるのは簡単です。

Post SMTPプラグインは定期的に更新され、SendGridのSMTPリレーとSendGridのWeb APIを介した送信をサポートしています。100,000以上のアクティブなインストールがあり、評価は5つ星のうち5です。
WordPressのリポジトリからもダウンロードできますが、WordPressダッシュボードの「プラグイン」→「新規追加」で検索することもできます。
ここでは、Web APIメソッドとSMTPの両方を使用する理由をいくつか示します。
- SMTP接続には複数の障害点があります。
- Web APIメソッドは通常、SMTPよりもレイテンシが少なく、高速です。
- Web APIは、SMTPを使用した従来の認証情報メソッドに対して、APIキーを使用してセキュリティを強化します。
- 一部のWordPress専用サーバー会社は、ポート25号、465号、および587号でのSMTPを使用した送信接続をブロックする場合があります。または、SMTPをまったくサポートしていない場合もあります。 Web APIメソッドを使用すると、これを心配する必要はありません。注:Kinstaでは、ポート25号のみがブロックされています。
- デフォルトのwp_mail関数を置き換えてメールを送信します。
ステップ1
プラグインをインストールした後、「Post SMTP」→「Start the Wizard」(ウィザードを開始)をクリックします。

ステップ2
送信元のメールアドレスと名前を入力します。これは、ユーザーがサイトからメールを受け取ったときに表示される内容です。「Next」(次へ)をクリックします。

ステップ3
この例では、SMTPではなく、SendGridのAPIを使用します。 ただし、APIに問題が発生した場合に備えて、SMTPサーバーは万が一の為のフォールバックになります。したがって、SendGridのSMTPサーバーアドレス(smtp.sendgrid.net
)を入力します。 「Next」(次へ)をクリックします。

ステップ4
「SendGrid API」を選択し、「Next」(次へ)をクリックします。

ステップ5
次に、Post SMTPの設定に戻り、先ほど生成したSendGrid APIキーを貼り付けて、「Next」(次へ)をクリックします。

ステップ6
次に、メールの配信ができなかった場合の通知方法を選択できます。「メール」はデフォルトで最も簡単なオプションです。Post SMTPには「Slack」のオプションさえあります。「Next」(次へ)をクリックします。

ステップ7
次に、テストメールを送信して、プラグインが正常に機能しているかを確認します。 「Actions」(操作)メニューの「Send a Test Email」(テストメールの送信)をクリックします。

テストを送信する受信者の電子メールアドレスを入力して、「Next」(次へ)をクリックします。問題なければ、「Success」(成功)メッセージが表示されます。
以上です!これで、WordPressサイトから送信されるすべてのメールは、SendGridのメールサーバーを経由して送信されるようになりました。必ず受信トレイと迷惑メールフォルダーをチェックして、テストメールが届いたかどうかを確認してください。SendGridのアクティビティフィードも確認できます。

ステップ8
次に、「SendGridのドメイン認証の設定」にジャンプします。
SendGridのドメイン認証の設定
SendGridのドメイン認証を設定すると、送信元のドメインを所有していることが受信トレイのプロバイダーに証明されるため、配信率が向上します。これがないと、メールが迷惑メールフォルダに入ってしまう可能性があります。
ステップ1
SendGridのダッシュボードで、「Settings」(設定)→「Sender Authentication」(送信者の認証)をクリックします。「Domain Authentication」(ドメイン認証)の「Get Started」(スタートする)をクリックします。

ステップ2
ご利用のDNSホストを選択します。Kinsta DNSをご利用の場合は、Amazon Route 53を選択します。Cloudflareをご利用の場合は、Cloudflareを選択します。「Next」(次へ)をクリックします。

ステップ3
送信元のドメインを入力します。次に、ご希望のセキュリティを選択できます。デフォルトの推奨のオプションは「Use automated security」(自動セキュリティを使用する)です。有効にすると、SendGridは自動的にDKIM キーをローテーションして、不正アクセスを予防します。「Next」(次へ)をクリックします。

ステップ4
次に、メールがSendGridを指すようにDNSレコードを追加します。これは、ドメイン登録機関またはサードパーティのDNSプロバイダーで行います。その際に、3つのCNAMEレコードが必要になります。不明点等ございましたら、ご利用のプロバイダーに支援を求めてください。当社のプレミアムDNSをご利用のKinstaお客様には、MyKinstaダッシュボードを使用して設定いただけます。または、サポートチームまでお問い合わせください。
レコードを追加したら、「I’ve added these records」(これらのレコードを追加しました)チェックボックスをオンにして、「Verify」(認証)をクリックします。注:DNSレコードを追加した後、反映されるまでに時間がかかる場合があります。ほとんどの場合、数分で完了しますが、最大24時間かかる場合があります。

完了後に、「It worked!」(うまくいった!)と表示されます。

これで、メールを送信するための準備がすべて整いました!なお、上記のプラグインは、デフォルトのwp_mail関数を置き換えることにご注意ください。 今後は、サイトから送信されるすべての電子メールがSendGridを経由するようになります。
最高のメールサーバーをお探しですか?G Suiteを強くお勧めします。