WordPressでメールが正しく送信できない、または全く送信できないという問題はサイト運営者を悩ます、ありがちな問題です。

Kinstaを含め、ほとんどのマネージドWordPressホスティング会社では、メールホスティングを提供していません。これは、WordPressサイトからメールを送信できないということではなく、Kinstaの場合はトランザクションメールをサポートしており、WordPressサイトの通知やWooCommerceストアの注文確認など、サイト関連のメールを送信することができます。

通常、WordPressでメールが送信されない問題を解決しようとする場合、サーバー上の問題ではなく、WordPressのインストールでメールの設定が間違っているか、互換性がないことが原因です。

今回は、WordPressから自分自身や他のユーザーにメールが送信できない際の原因を特定し、解決する方法を扱います。通常のWordPressサイトでもWooCommerceを用いたECサイトでもメールの問題を解決する策はあります。

また、人気のお問い合わせフォームプラグインをご紹介するとともに、それぞれについて、考えられるメール配信の問題の原因についても触れます。

動画での解説もご用意しています

WordPressでメールが送信できない理由

WordPressでメールが送信できないのにはいくつか原因が考えられます。その一例は次の通りです。

原因を特定する方法をそれぞれ詳しくご説明します。

1. メールは送信されているが迷惑メールフォルダに振り分けられている

他のテストを実施する前に、WordPressから送信されたメールが迷惑メールフォルダに振り分けられていないか確認しましょう。

ユーザーからWordPressのメールが届いていないと連絡があった場合、単に迷惑メールフォルダに振り分けられている可能性があります。

システムからのメールが迷惑メールフォルダに入っていないか聞いてみましょう。WordPressからのメールは自動化されているため、メールソフトによってはスパムと判断してしまうことがあります。

2. サーバーの設定が正しくない

WordPressからメールが送信されないよくある理由の一つとして、サーバーの設定がメールを送信できる仕様になっていないことがあります。

レンタルサーバーはもともとメールを送信できる設計ではなく、ともすると、あなたのお使いのサーバーがPHP mail()関数を利用できる設定になっていない可能性があります。

幸い、これが原因かどうかは簡単に確認でき、設定を変更することも可能です。

サーバーでメールが送信できるかどうかテストする方法

まずは、WordPressサイト上で無料のCheck Emailプラグインを使用したテストを行います。

このプラグインはWordPressやそのレンタルサーバーからメールを送信できるかどうかを確認するためのシンプルなプラグインです。

インストールしたら、WordPress管理画面の「ツール」>Check Emailを開きます。テストメールを送信するメールアドレスを入力し、「Send test email」をクリックします。

テストメールを送信
テストメールを送信

すると、次の確認画面が表示されます。

確認メッセージ
確認メッセージ

メールソフトを開き、テストメールを受信できたかどうか確認します。件名は「Test email from https://あなたのドメイン名.com」のようになっています。

テストメールの受信
テストメールの受信

迷惑メールフォルダも必ず確認しましょう。メールを受信できていれば、お使いのレンタルサーバーでWordPressからのメールを送信できることが分かります。

テストで問題がないにも関わらずメールが送信できない場合は、お問い合わせフォームプラグインの設定に不備があるか、互換性がない可能性があります。その場合、プラグインの開発元に問い合わせてみましょう。上記のテストを実施し、WordPress自体ではメールは問題なく送信できたことを伝えるのが便利です。もしくは、人気のお問い合わせフォームプラグインをお使いの場合は、後述の解決策をどうぞ。

Kinstaのお客様でHHVMをお使いの方は、一時的にPHP 7に切り替えて、互換性の問題が発生しているか確認できます。MyKinsta管理画面から簡単にPHP 7に切り替えることができます。テストが完了したら、HHVMへと戻しましょう。

Kinstaのお客様も、他のレンタルサーバーをお使いの方も、接続の問題が発生している場合、別のポートを試してみる必要があるかもしれません。レンタルサーバー側がポートをブロックしている可能性があります。

KinstaではGoogle Cloud Platformを利用しており、デフォルトで25番ポートの接続をブロックしています。Googleは、「悪用される可能性が非常に高いためこのSMTPポートの接続はブロックしている」と説明しています。その場合、2525など別のポートを試してみましょう。Kinstaでは587番と465番のポートが利用できます。

3. お問い合わせフォームプラグインが「なりすましメール」を送信している

上記のテストを実施し、サーバーから問題なくメールを送信できることが分かったら、WordPressサイトからメールを送信するのに利用しているプラグインに原因があるということになります。

つまり、お問い合わせフォームプラグインを原因として疑いましょう。

お問い合わせフォームプラグインは時に、なりすましメールと判断されるメールを送信することがあります。これは迷惑メールの場合と同じで、メールソフトが不審なメールと判断してしまう状態です。

お問い合わせフォームからのメールが時になりすましメールと判断されてしまうのは、メール送信元の欄にあるメールアドレスと異なるアドレスから送信されるからです。

送信元の欄に、フォーム記入者のメールアドレスが入力されるように設定していながら、実際にはメールがWordPressサイトから送信されると、メールソフトはメールを不審と判断し、なりすましメールに分類してしまうことがあります。

メールの送信元と宛先が同じ場合にも問題が発生することがあります。フォームプラグインにより管理者のメールアドレスを送信元とするメールが送信され(デフォルトでそうなっているはず)、同じメールアドレス宛てに送信するよう設定された場合、メールプロバイダーによっては、これを不審に思うことがあります。ただし、こちらは「なりすましメール」の問題よりは発生しにくいものです。

お問い合わせフォームにおける通知メールの受取人は通常あなたであるはず。つまり、お問い合わせフォームプラグインの設定を変更、問題を解決し、メールが送信できるようになったかどうか簡単にテストすることができます。

影響を受けるお問い合わせフォームプラグイン

どのようなお問い合わせフォームプラグインにもこの問題は発生する可能性があります。次に挙げるのはそのほんの一例です。

  • Contact Form 7
  • Gravity Forms
  • Ninja Forms
  • Happy Form
  • weForms
  • Jetpack Contact Form
  • Formidable Forms

各お問い合わせフォームについて簡単に問題の解決方法をご紹介します。まずは、その前に、これまで見てきた原因毎にWordPressからメールが送信できない問題の解決方法に迫りましょう。

WordPressのメールが迷惑メールフォルダに振り分けられるのを防ぐ方法

1. メールアドレスをホワイトリストに登録する

メールが迷惑メールに判定される場合は、ユーザーにメールアドレスを共有し、ホワイトリストに登録してもらうことができます。

Gmailでは、メールを受信トレイに移動すると、今後そのメールアドレスから届いたメールは迷惑フォルダに振り分けられないようになります。ただし、連絡先にメールアドレスを登録するのが一番確実な方法です。

2. より安全なメールアドレスを利用する

サイトで使用する送信元のメールアドレスも見直してみましょう。デフォルトでは、管理者のメールアドレスになっています。メールアドレスがinfo@、contact@、sales@などの場合、メールソフトが迷惑メールと判断する可能性があります。

メールアドレスをより本格的なものに変更し、返信忘れのないようにそこに送信されたメールが全て、あなたの通常のメールアドレスへ転送されるようにしましょう。これはメールアドレスのエイリアスを作成するだけでできます。

3. 送信ドメイン認証を正しく行う

WordPressのメールが迷惑メールフォルダに振り分けられるもう一つの原因として、送信ドメイン認証が適切に行われていないことが考えられます。

こちらの送信ドメイン認証ガイドに従って正しく設定しましょう。

WordPressでSMTPを設定してメールを送信する方法

上記のテストを実施して問題がなかったにも関わらず、サイトからメールが送信できない場合、再びメールが送信できるようにするために、外部のSMTPプロバイダーをサイトと連携しなければなりません。

SMTPは「簡易メール転送プロトコル」の略で、ネットワーク上でのメール転送を担います。サーバーがメールを送信できるように設定されていない場合でも、SMTPによって送信が可能になります。

SMTPサービスは多数存在し、無料で利用できるものもあります(Gmail SMTP Serverなど)。少し時間がかかるものの、費用は一切かかりません。

設定については、WordPressで無料のSMTPサーバーを利用する方法をご覧ください。

フォームプラグインから正しくメールが送信されるように設定する方法

サーバーの設定では、メールが送信できるようになっているにもかかわらず、フォームからメールが送信できない場合は、フォーム側の設定に問題があるはずです。

主要なお問い合わせフォームプラグインについて、メールが送信できるよう設定する方法を見ていきましょう。

いずれも、すでにサイトにSMTPの接続を試み、サーバーからメールが送信されることが確認できている(迷惑メールフォルダも確認済み)にも関わらずメールが送信できないという前提でお話を進めます。

Contact Form 7でメールを送信できない問題を解決する

Contact Form 7は歴史ある、超人気の無料WordPressフォームプラグインです。

メールの送信に問題が発生した場合(かつ、サーバー自体からはメールが送信できることが分かっている場合)、解決するにはメール送信元のアドレスを変更します。

WordPressの管理画面から「お問い合わせ」>「コンタクトフォーム」を開きます。

コンタクトフォーム
コンタクトフォーム

作成したフォームを選択し、「メール」タブを開きます。

コンタクトフォームのメールタブ
コンタクトフォームのメールタブ

「送信元」の欄には、フォームに入力されたメールアドレスではなく、サイト管理者のメールアドレスを記入しましょう。「Reply-to(メールの返信先)にそのメールアドレスを使用することはできますが「送信元」の欄ではありません。

「送信先」「送信元」に同じメールアドレスを使用するのは避けましょう。サイトで使用しているものとは異なるメールアドレスを使用しましょう。

最後に変更を保存します。

フォームを自分で入力し、送信テストをしてみましょう。

Gravity Formsでメールを送信できない問題を解決する

Gravity Formsは最も人気で評判の高い有料フォームプラグインの一つです。Contact Form 7と比べるとメールが送信されないというトラブルの頻度は低いはずですが、それでも発生することはあります。詳細の手順はプラグインのドキュメンテーションからご覧いただけます。

Gravity formsのドキュメンテーション
Gravity formsのドキュメンテーション

メールを送信できるようにするために、ドキュメンテーション内の解決方法を順に試してみましょう。

Ninja Formsでメールを送信できない問題を解決する

Ninja Formsには無料版と有料版の両方が存在します。またWordPressのプラグインページからダウンロードできるアドオンもたくさんあります。

Ninja Formsでメール関連の問題が発生した場合、同じ開発チームが製作している、SendWPプラグインを使用するのがおすすめです。

SendWP
SendWP

SendWPはサーバー上でSMTPがうまく機能するためのもので、無料版のプラグインでも利用できます。ただし、原因がサーバー側のメール送信に関連したものではない場合、SendWPでは問題の解決にはなりません。

SendWPの月額9ドルの料金を支払いたくない方は、公式ドキュメンテーション内のメールトラブルシューティングの手順に従いましょう。

HappyFormsでメールを送信できない問題を解決する

HappyFormsにもまた無料版と有料版が存在します。

Happyforms
Happyforms

HappyFormsにはヘルプガイドがありますが、メールが正しく送信できない場合の詳しい対処法には触れられていません。

Happy Formsの送信元のメールアドレスを変更するには、Contact Form 7と同様の方法で個別のフォームのメール設定を編集します。

HappyForms>All Formsを開き、編集したいフォームを選択します。するとカスタマイザーのような見た目のインターフェースが開きます。

Emailタブを開きます。

HappyFormsのEmailタブ
HappyFormsのEmailタブ

ここから通知や確認の送信先送信元のメールアドレスを変更することができ、なりすましメールと判断されてしまうのを防ぐことができます。

編集が完了したら、上部のUpdateボタンをクリックし、フォームの送信テストを実施してみましょう。

weFormsでメールを送信できない問題を解決する

weFormsにも無料版と有料版が存在します。WordPress自体やSendGridを含め、様々なメールプロバイダーを利用したメールの設定ができます。

weFormsでメール送信ができない問題を解決するためのトラブルシューティングガイドがあります。手順に従い、問題の原因を特定しメールが送信できるようにしましょう。

Jetpack Contact Formでメールを送信できない問題を解決する

Jetpackプラグインを使用している場合、その中に含まれているシンプルなお問い合わせフォームも利用しているかもしれません。WordPressの固定ページや投稿にフォームブロックを追加することでフォームを挿入できます。

Jetpackは他のフォーム専用のプラグインと比べると設定の種類は少ないですが、メール送信先のメールアドレスを変更することはできます。

Jetpackではメールの宛先送信元の欄にフォームの入力情報を適用しないため、メール関連の問題が発生する可能性は比較的低いでしょう。問題が発生した場合は、メールの送信先と送信元のアドレスが同じになっている可能性があります。

フォームを追加した後、その上部の編集ボタンをクリックするとドロップダウンメニューが表示されます。ここから宛先のアドレスを変更できます。

Jetpackのお問い合わせフォーム
Jetpackのお問い合わせフォーム

フォーム送信元のアドレスを変更したい場合、Jetpackのフォームではサイトの管理者のメールアドレスが使用されるため、そちらを変更する必要があります。

Formidable Formsでメールを送信できない問題を解決する

Formidable Formsにも無料版と有料版が存在します。Formidable Formsでメールの送信に関する問題が発生した場合、公式のドキュメンテーションはサイトにSMTPを接続することを推奨しています。

しかし、既にSMTP接続を試してみたにも関わらず解決しない場合は、前述のとおり、実際の送信元アドレスとは異なるメールアドレスから送信されたことによりメールが「なりすましメール」と判断されている可能性を疑うべきです。

WordPressの管理画面から、「Formidable>Forms」を開き、編集したいフォームを選択します。上部のSettingsタブをクリックし、左側の「Actions & Notificationsタブをクリックします。そこから、「Email notificationを開きます。

Formidable FormsのEmail notification設定
Formidable FormsのEmail notification設定

ここでは、通知メールの送信元アドレスと送信先アドレスを編集できます。デフォルトでは、どちらもフォームに入力されるメールアドレスではなく、管理者のメールアドレスが設定されています。

メールの送信先を変更する(送信元とは異なるメールアドレスにする)には、Toの欄を編集し、使用したいメールアドレスを手動で入力します。

設定画面で加えた変更が反映されますので、入力した内容が正しいかどうかしっかりと確認しましょう。

まとめ

WordPressからメールが送信できないという問題が発生し、その原因が分からず困ってしまうのは、よくある事態です。最も一般的なWordPressのエラーの一つであるこの問題は、メールが迷惑メールフォルダに振り分けられている、サーバーがメールを送信できる設定になっていない、お問い合わせフォームの設定を変更する必要がある…などの原因が考えられます。

WordPressサイトからメールを送信できない理由を上記の方法で特定し、問題の解決にお役立てください。きっとすぐにメールが元通り送信できるようになるはずです!

Rachel McCollin

Rachel McCollin has been helping people build websites with WordPress since 2010. She's a huge fan of self-hosted WordPress and wants to help as many people as possible create an awesome website with it.