WordPressサイトがメールを送信できなくなっています。お問い合わせフォームの送信が消え、パスワードリセットメールが届かず、重要な通知がどこにも届かなくなります。
あなただけではありません。解決策は簡単です。WordPressのデフォルトのメール送信方法ではなく、SMTP(Simple Mail Transfer Protocol)を使用します。SMTPはメールを認証するため、ブロックされたりスパムとマークされたりする代わりに、実際に受信トレイに届きます。
WPBeginnerでは長年WP Mail SMTPを使用して、すべてのメール配信を処理しています。これにより、WordPressがSendLayerなどの信頼できるメールサービスに接続され、すべてのお問い合わせフォームの送信と通知が宛先に届きます。
このガイドでは、WordPressのメールの問題が正確に何が原因で発生し、それをステップバイステップでどのように修正するかを説明します。

WordPressサイトからメールが届かない理由
メールが届かない最も一般的な理由は、WordPressホスティングサーバーがPHPのmail()関数を使用するように正しく設定されていないことです。これはWordPressの組み込みのメール送信方法であり、あなたが誰であるかを検証するものは含まれていません。
ホスティングが正しく設定されている場合でも、別の問題があります。Gmailのようなメールプロバイダーは、メールが実際に主張しているアドレスから送信されているかどうかを確認するスパムフィルターを使用しています。
WordPressサイトから送信されたメールは、このチェックに失敗することがよくあります。
これは、WordPressサイトからメール(お問い合わせフォームプラグイン、管理者通知、またはパスワードリセット)が送信された場合、受信者の迷惑メールフォルダに届かず、そのまま消えてしまう可能性があることを意味します。
このため、WordPress を使用してメールニュースレターを送信しないことをお勧めします。WordPress でメールニュースレターを送信しない。
また、WordPressでメールを送信する際には、全員にSMTPを使用することをお勧めする理由でもあります。
SMTPとは?
SMTPはSimple Mail Transfer Protocolの略です。インターネット経由でメールを送信するための業界標準です。
サインのない手紙を無作為の郵便受けに投函するのと、郵便局で書留郵便を送るのと似ています。PHPのmail()関数はそのサインのない手紙です。SMTPは、適切な識別と追跡を備えた書留郵便です。
SMTPは適切な認証を使用するため、メールプロバイダーにあなたのメールが正当なものであることを証明します。これにより、メールの到達率が大幅に向上します。
WP Mail SMTPプラグインは、PHPのmail()関数の代わりにSMTPを使用してメールを送信するようにWordPressサイトを設定します。
SendLayer、Brevo(旧Sendinblue)、Gmail(Google Workspace)、Amazon SESなどの一般的なSMTPサービスのいずれかに接続するために使用できます。
プラグインの詳細については、WP Mail SMTPレビューをご覧ください。
それでは、WordPressでメールが送信されない問題を修正する方法を見ていきましょう。以下のクイックリンクを使用して、この記事をナビゲートできます。
代替案: WooCommerceを使用しており、注文メールが届かない場合は、代わりにWooCommerceが注文メールを送信しない問題を修正する方法に関するガイドをお読みください。
ステップ 1: WP Mail SMTP プラグインをインストールする
どのSMTPサービスを選択しても、サイトにWP Mail SMTPプラグインがインストールされている必要があります。これにより、WordPressは組み込みのPHP mail()関数からSMTPサービスを使用するように切り替わります。
WPBeginnerおよびすべてのパートナーサイトでWP Mail SMTPを使用しており、すべてのメールが確実に配信されるようにしています。
まず、WP Mail SMTPプラグインをインストールして有効化します。方法がわからない場合は、WordPressプラグインのインストール方法に関するステップバイステップガイドを参照してください。
次に、WordPressダッシュボードの「WP Mail SMTP」をクリックして、プラグインの設定を行います。

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

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

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

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

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

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

注意: Brevo (旧 Sendinblue) のような他のメールサービスでは、まずウェブサイトのサブドメインを設定する必要があります。しかし、SendLayer はサブドメインを送信ドメインの DNS レコードに自動的に追加します。
そのため、ドメインを登録する際に余分なサブドメインを追加する必要はありません。
ドメインを追加すると、SendLayer はドメインの設定に追加すべき 5 つの DNS レコードを表示します。
DNS レコード(ドメインネームシステムレコード)は、ドメイン名をさまざまなサービスに接続する設定です。これらの特定のレコードは、ドメインの所有権を証明し、SendLayer がお客様に代わってメールを送信することを承認します。

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

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

DNS レコードは上級ユーザーが編集すべきであるという警告メッセージが表示されます。このメッセージは気にしないでください。プロセスは簡単です。
「続行」をクリックして進んでください。

これで、高度な DNS レコードの管理ページに到着します。
まず、「+ レコードを追加」ボタンをクリックします。

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

下にスクロールすると、ホスト名、エイリアス、TTLの3つのフィールドが表示されます。
ホスト名にはSendLayerの「Hostname」列の値を入力します。エイリアスにはSendLayerの「Value」列の値を入力します。TTLは15分に設定したままで構いません。

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

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

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

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

ここでは、すべてのDNSレコードを1か所で見つけることができます。ドメインが正常に承認されると、「ステータス」列の各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つは、将来的にメールアドレスを変更した場合、プロセス全体を再度実行する必要があることです。これには、新しい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のメールがスパムフォルダに届くのは、認証を含まないPHPのmail()関数を使用して送信されるためです。Gmailのようなメールプロバイダーは、メールが実際にあなたのドメインから送信されたことを検証できないため、不審なメールとしてフラグを立てます。適切な認証を備えたSMTPを使用することで、この問題は解決します。
WP Mail SMTPは無料ですか?
はい、WP Mail SMTPにはWordPress.orgで利用可能な無料版があり、ほとんどのSMTPサービスで動作します。また、メールログ、トラッキング、バックアップ接続などの追加機能を提供するPro版もあります。
初心者にとって最適なSMTPサービスは何ですか?
初心者には、無料枠(200通のメール)があり、セットアッププロセスが簡単で、トランザクションメール専用に設計されているため、SendLayerをお勧めします。すでにGoogleアカウントをお持ちの場合は、Gmailも良い選択肢です。
WordPressのメールが機能しているかどうかを確認するにはどうすればよいですか?
WP Mail SMTP を設定したら、WordPress のダッシュボードで WP Mail SMTP » ツール に移動します。メールテスト機能を使用して、自分宛にテストメールを送信してください。受信トレイ(迷惑メールではない)に届いた場合は、メールは正しく機能しています。
動画チュートリアル
視覚的な説明をご希望の場合は、このビデオをご覧ください。
その他の 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ソリューションにのみ集中できるようになりました。