WordPressサイトでメールが送信できていません。お問い合わせフォームの送信が消えたり、重要な通知が届かなかったりします。心当たりはありますか?
あなただけではありません。そして、問題はWordPress自体ではありません。ウェブサイトが通常メール配信を処理する方法に問題があります。
WPBeginner では、まさにこの問題に対処してきました。だからこそ、すべての WordPress メールを処理するために WP Mail SMTP を使用し、信頼しています。SMTP(信頼性の高いメール配信の業界標準)を使用して、メールが確実に宛先に届くようにします。
このガイドでは、メールの問題の原因を正確に特定し、SMTPを使用してそれらを修正する方法を説明します。これにより、重要な通知を見逃すことはなくなります。

WordPressサイトからメールが届かない理由
メールが届かなくなる最も一般的な理由は、WordPressホスティングサーバーがPHPのmail()関数を使用するように正しく設定されていないことです。
ホスティングがそれを使用するように設定されていても、Gmailなどの多くのメールサービスプロバイダーは、メールのスパムを減らすためにさまざまなツールを使用しています。これらのツールは、メールが送信元として主張している場所から来ているかどうかを検出しようとします。
WordPressウェブサイトから送信されたメールは、このテストに失敗することがよくあります。
これは、WordPressサイトからメールが送信された場合(お問い合わせフォームプラグイン、管理者通知などから)、受信者の受信トレイはもちろんのこと、迷惑メールフォルダにさえ到達しない可能性があることを意味します。
このため、WordPress を使用してメールニュースレターを送信しないことをお勧めします。WordPress でメールニュースレターを送信しない。
これが、WordPressでメールを送信する際にSMTPを使用することを推奨する理由でもあります。
SMTPとは?
SMTP(Simple Mail Transfer Protocol)は、電子メールを送信するための業界標準です。
PHPのmail()関数とは異なり、SMTPは適切な認証を使用するため、メールの到達率が高くなります。
WordPressには、WordPressサイトがPHPのmail()関数の代わりにSMTPを使用してメールを送信するように設定するWP Mail SMTPプラグインがあります。
SendLayer、Brevo(旧Sendinblue)、Gmail(Google Workspace)、Amazon SESなどの一般的なSMTPサービスに接続するために使用できます。
プラグインの詳細が必要な場合は、WP Mail SMTPレビューをお読みください。
これを踏まえて、WordPressでメールが送信されない問題の解決方法を見ていきましょう。以下のクイックリンクを使用して、この記事内を移動できます。
- ステップ 1: WP Mail SMTP プラグインをインストールする
- ステップ2:SMTPメーリングサービスの設定
- ステップ3:WordPressサイトをSendLayerに接続する
- Step 4: Finish Setting Up WP Mail SMTP to Use SendLayer
- Video Tutorial
代替案: WooCommerceを使用しており、注文メールが配信されない場合は、代わりにWooCommerceが注文メールを送信しない問題を修正する方法に関するガイドをお読みください。
ステップ 1: WP Mail SMTP プラグインをインストールする
どのSMTPサービスを選択しても、サイトにWP Mail SMTPプラグインがインストールされている必要があります。これにより、WordPressは組み込みのPHP mail()関数から選択したSMTPサービスを使用するように切り替えることができます。
まず、WP Mail SMTP プラグインをインストールして有効化します。方法がわからない場合は、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。
次に、WordPressダッシュボードの「WP Mail SMTP」をクリックして、プラグインの設定を行います。

まず、サイトのメールの送信元としたい名前およびビジネスメールアドレスを入力することから始めます。
ここでは、SMTPメーリングサービスで使用するのと同じメールアドレスを使用していることを確認してください。

他のプラグイン(WPFormsなど)が異なる設定を持っていても、この名前とメールアドレスを強制的に使用するようにメールを設定できます。WP Mail SMTPは他のプラグインの設定を上書きします。
次に、サイトのSMTPメールサービスを選択する必要があります。このチュートリアルでは、SendLayerを使用してSMTPを設定します。

WP Mail SMTPの設定を完了するには、SendLayerでアカウントを作成する必要があります。次にそちらに進み、その後WP Mail SMTPでの設定を最終化しますので、このタブを開いたままにしておいてください。
ステップ2:SMTPメーリングサービスの設定
SendLayerは信頼性の高いメールサービスプロバイダーです。大量のメールを高配信率で送信できます。
SendLayerを使用すると、最大200通のメールを無料で送信できます。これは、ほとんどの小規模なウェブサイトが開始するには十分な量です。
これらは、お問い合わせフォームからのメール、新しいユーザーアカウントの詳細、パスワード回復メール、またはWordPressサイトを通じて送信されるその他のメールである可能性があります。
まず、アカウントを作成するためにSendLayerのウェブサイトにアクセスする必要があります。価格ページで、「SendLayer無料トライアルを試す(最大200通のメールを送信)」リンクをクリックしてアカウントを設定してください。

アカウントを作成すると、SendLayerダッシュボードが表示されます。
SendLayerアカウントが作成されたので、WordPressでメールプロバイダーを設定しましょう。

ステップ3:WordPressサイトをSendLayerに接続する
SendLayerでメールを送信できるようになる前に、ドメインを承認する必要があります。
これにより、メールサーバーに対して、あなたが送信ドメインの確認済み所有者であり、メールが正当なソースから送信されていることを証明します。
ドメインを認証するには、SendLayerダッシュボードからオレンジ色の「ドメインを追加」ボタンをクリックします。

次のページで、提供されたフィールドにドメイン名を入力するだけです。
次に、「ドメインの追加」ボタンをクリックします。

注意: Brevo (旧 Sendinblue) のような他のメールサービスでは、まずウェブサイトのサブドメインを設定する必要があります。しかし、SendLayer はサブドメインを送信ドメインの DNS レコードに自動的に追加します。
そのため、ドメインを登録する際に余分なサブドメインを追加する必要はありません。
ドメインを追加すると、SendLayer はドメインの DNS レコード設定に追加する必要がある 5 つの DNS レコードを表示します。
これらのコード行により、SendLayerはドメイン名を承認できます。

これらのDNSレコードをWordPressサイトに追加する必要があります。これは複雑に思えるかもしれませんが、必要なのは、それらを正しい場所にコピーして貼り付けるだけです。
このチュートリアルのデモンストレーションでは、Bluehost のホスティングアカウントを使用して例を示します。
他のホスティング会社を利用している場合や、DNSがドメインレジストラ(例:Network Solutions、GoDaddy、Namecheap)で管理されている場合は、それぞれの指示に従ってください。
また、あらゆるホストでWP Mail SMTPを設定する方法に関するガイドもお読みいただけます。
まず、新しいブラウザタブを開き、WordPressホスティングアカウントにログインします。次に、ドメインのDNSレコードを見つけます。
Bluehostでは、「ドメイン」に移動してこれを行います。次に、SendLayerと連携したいドメインの横にある「設定」をクリックします。

次のページで、「高度なツール」セクションまでスクロールします。
その後、「高度なDNSレコード」の横にある「管理」ボタンをクリックします。

DNSレコードは上級ユーザーが編集する必要があるという警告メッセージが表示されます。このメッセージは心配しないでください。この手順は非常に簡単です。
「続行」をクリックして進んでください。

次に、「高度なDNSレコードの管理」ページが表示されます。
まず、「+ レコードを追加」ボタンをクリックします。

さて、SendLayerが提供したDNSレコードの追加を開始しましょう。
まず、DNSレコードのタイプを選択します。この場合、最初のレコードにはCNAMEを使用します。
「参照先」セクションで「その他のホスト」をクリックします。後で、すべてのDNSレコードでこの同じオプションを選択します。

下にスクロールすると、ホスト名、エイリアス、TTLの3つのフィールドが表示されます。
ホスト名は、SendLayerから提供された「ホスト名」の値で入力する必要があります。エイリアスは、「値」の値で入力する必要があります。TTLについては、15分に設定したままにしておくことができます。

下のスクリーンショットは、最初のCNAMEレコードを追加したときの画面です。
完了したら、「追加」をクリックしてください。

これらの手順は、すべてのDNSレコード(CNAMEとTXTの両方)に対して繰り返すことができます。
TXTレコードを追加する際は、SendLayerの「Hostname」の値を「Host Name」フィールドに、そして「Value」の値を「TXT Value」フィールドに貼り付けるようにしてください。
このようになります:

レコードを追加したら、SendLayerに戻り、「これらのDNSレコードを追加し、続行する準備ができました」の横にあるチェックボックスをオンにします。
次に、「DNSレコードの確認」ボタンをクリックします。

SendLayerがレコードを検証できるようになるまで、24〜48時間かかる場合があります。私たちの経験では、数時間かかりました。
そのボタンをクリックしても何も起こらない場合は、レコードがまだ検証されていません。SendLayerダッシュボードから「設定」に移動し、「DNSレコードと設定」タブに移動して、後で検証されたかどうかを確認できます。

ここには、すべてのDNSレコードが一覧表示されます。ドメインが正常に認証されると、「ステータス」列の各DNSレコードの横に緑色のチェックマークが表示されます。
承認が行われるのを待っている間、このチュートリアルを続けることができます。
ステップ 4: SendLayer を使用するように WP Mail SMTP の設定を完了する
セットアップを完了しましょう。まず、SendLayerアカウントにアクセスしてAPIキーを見つけます。
SendLayerダッシュボードから、設定 » APIキーページに移動するだけです。ここで、SendLayerでドメインを承認したときに生成されたデフォルトのAPIキーが表示されます。

このページからAPIキーをコピーするには、コピーアイコンをクリックしてください。
このように:

これが完了したら、WP Mail SMTPの設定ウィザードタブに戻ることができます。
次に、APIキーを適切な場所に貼り付けます。

おめでとうございます。これで全ての設定が完了しました。最後のステップは、すべてが機能していることを確認するためにテストメールを送信することです。
WP Mail SMTP » ツールに移動します。「メールテスト」タブで、送信したいメールアドレスを入力します。これはサイトの管理者メールにデフォルトで設定されます。「メールを送信」をクリックします。

「テストHTMLメールが正常に送信されました!」というメッセージが表示されるはずです。
受信トレイを確認して、届いているか確認してください。このようになります:

注意: SendLayerアカウントがまだ有効になっていない場合、次のメッセージが表示されます: [permission_denied]: Unable to send email. Your SMTP account is not yet activated。
WordPressのメール送信問題を修正する代替方法
WP Mail SMTP プラグインのメール送信サービスオプションのリストからわかるように、SendLayer を使用する必要はありません。これは無料のおすすめですが、Microsoft 365、Gmail (Google Workspace)、Amazon SES など、他にも利用可能なオプションがあります。
GmailまたはGoogle WorkspaceをWP Mail SMTPで使用してWordPressのメール問題を解決する
Gmailをお持ちの場合は、それを使用してメールを送信できます。WP Mail SMTPプラグインを使用している場合、WordPressにメールログイン情報を入力する必要はありません。
GmailまたはGoogle Workspaceを使用するには、上記のようにWP Mail SMTPを設定し、メーラーの「Google / Gmail」オプションをクリックしてください。
次に、WP Mail SMTPのワンクリックセットアップを使用して、メーラー設定を構成できます。
この方法では、独自のアプリを作成する必要がないため、はるかに簡単です。Gmailアカウントにサインインして「設定を保存」をクリックするだけです。

ただし、プロフェッショナルなGmailまたはGoogle Workspaceを使用することには、いくつかの重要な欠点があります。
1つは、動作させるために適切な証明書をインストールするようにウェブホストに連絡する必要がある場合があることです。
もう1つは、将来的にメールアドレスを変更した場合、プロセス全体を再度実行する必要があるということです。これには、新しいWebアプリケーションの作成が含まれます。
Microsoft 365をWP Mail SMTPで使用してWordPressのメールを修正する
通常のメールアカウントにMicrosoft Office 365またはOutlookを使用している場合は、WordPress経由でメールを送信するためにもそれを使用できます。ただし、これはセキュリティが低いため推奨されるオプションではありません。
上記のように WP Mail SMTP を設定し、SMTP メール送信サービスを選択する際に「365 / Outlook」オプションをクリックする必要があります。次に、Microsoft Azure でアプリを登録して、以下のフィールドに入力できるようにする必要があります。

詳細については、WP Mail SMTP で Outlook を設定する方法の詳細ガイドを参照してください。
WordPressのメール送信問題を解決するためにAmazon SESとWP Mail SMTPを使用する
Amazon AWSプラットフォームには、WordPressのメール問題を修正するために使用できるSimple Email Service(SES)があります。
Amazonの最も良い点は、毎月最大62,000通のメールを無料で送信できることです。欠点は、初心者には設定が少し難しいことですが、そのため、私たちはこれを推奨オプションとしていません。
しかし、ご想像のとおり、多くのプロフェッショナルや専門家がWordPressのメールSMTPサービスにAmazon SESを使用しているため、それを言及せずに記事を書くことはできませんでした。
Amazon SESをWordPressでセットアップすることに興味がある場合は、WordPressでAmazon SESをセットアップする方法に関する完全な手順を参照してください。
どのメーラーを使用する場合でも、「テストメール」機能を使用して、メールが正常に送信されていることを確認することを忘れないでください。
受信トレイも確認して、テストメールを受信したことを確認する必要があります。
動画チュートリアル
視覚的な指示をご希望の場合は、このビデオをご覧ください。
その他の WordPress エラーが発生していますか?これらのガイドをご覧ください
WordPressは完璧ではなく、時折いくつかの一般的なエラーに遭遇する可能性があります。それらを解決するためのチュートリアルをいくつか紹介します。
- WordPressでメディア追加ボタンが機能しない場合の修正方法
- WordPressで画像のアップロード問題を修正する方法(ステップバイステップ)
- WordPressで混合コンテンツエラーを修正する方法(ステップバイステップ)
- WordPressの投稿が404エラーを返すのを修正する方法(ステップバイステップ)
- 「WordPressデータベースエラー:ディスクがいっぱいです」エラーの修正方法
- WordPressでデータベース接続確立エラーを修正する方法
- WordPressで「申し訳ありませんが、セキュリティ上の理由により、このファイルタイプは許可されていません」エラーを修正する方法
- WordPressで502 Bad Gatewayエラーを修正する方法
- WordPressの検索が機能しない場合の対処法
- WordPressフォームが機能しない:7つのトラブルシューティングのヒント
この記事がWordPressでメールが送信されない問題の解決方法を学ぶのに役立ったことを願っています。また、最も一般的なWordPressブロックエディタの問題のリストや、最高のWooCommerceメールカスタマイザープラグインの選択肢もご覧ください。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。


Holly Moloney
これは愚かな質問かもしれませんが、なぜこれが突然起こるのですか?
ウェブサイトが稼働してからの10年間、メールに問題はありませんでしたが、2日前に突然、お問い合わせフォームからの通知メールが届かなくなりました。
サイトが最初にセットアップされたときに物事が正常に機能しない理由を理解できますが、何も変更されていないのに、なぜこの問題が突然発生するのでしょうか?
WPBeginnerサポート
メールプロバイダーの場合、スパム対策の一環として要件が時間とともに変化するため、特定の理由を特定するのは困難です。
管理者
Orphicpixel
SPFとDKIMレコードでメールの問題を解決しました
WPBeginnerサポート
Thank you for sharing what worked for you
管理者
サミュエル
このチュートリアルを本当にありがとうございました。新しいウェブサイトで問い合わせフォームを設定しているのですが、テスト中にWordPressが必要なフィードバックメールを送信していないことがわかり、ここで紹介されている方法で問題が解決しました。WP Beginnerさん、ありがとうございます。
プラグインを使わずにメールを送信する方法はありますか?サーバーまたはWordPress自体でphp mail()関数がメールを送信できるように調整できる設定があるのでしょうか?
WPBeginnerサポート
プラグインなしでこれを行うための推奨される方法はありません。複雑さが伴うためです。
管理者
サミュエル
ご回答ありがとうございます。ここで議論されているWP Mail SMTPソリューションにのみ集中できるようになりました。