問い合わせフォームから送ったはずの通知メールが、どこにも届いていない。迷惑メールフォルダにも見当たらない。
WordPressは、初期設定のままだとサーバーのPHPから直接メールを送ります。送信元のアドレスは「wordpress@サイトのドメイン」。実在しないこともあるこのアドレスから、送信の認証なしで送られるので、受け取る側のメールサービスに迷惑メールとして弾かれやすくなります。
この送り方を、メールサーバーにログインして送る「SMTP送信」に切り替えるのが、プラグイン「WP Mail SMTP」です。GLUEの検証サイトに入れて、設定の流れを確かめました。
メールを送る仕組み「SMTP」とは
メールのやり取りには、送るときと受け取るときで別の仕組みが使われています。
| 仕組み | 役割 |
| SMTP (Simple Mail Transfer Protocol) |
メールを相手のメールサーバーまで届ける。送信に使う |
| POP / IMAP | メールサーバーに届いたメールを、自分のパソコンやスマホで受け取る。受信に使う |
WordPressから送るメールで問題になるのは、送信のSMTPの部分です。メールソフトで普段使っているアドレスと同じように、WordPressにもメールサーバーへログインして送ってもらうのが、この記事で紹介する方法です。
WordPressのメールが届かない主な原因
認証なしで送っている
WordPressのメールは、関数「wp_mail」を通して送られます。初期設定では、サーバーのPHPからそのまま送信するため、メールサーバーへのログイン(SMTP認証)を行いません。
受け取る側から見ると、「誰が送ったのか確かめられないメール」です。問い合わせフォームの通知、会員登録の確認メール、パスワードの再設定メールなど、サイトから送るメールはすべてこの経路を通ります。
送信元のドメインと、送っているサーバーが一致しない
メールには、送信元のドメインが本物かを確かめる仕組み(SPF・DKIM)があります。送信元を「info@example.com」にしていても、example.com のSPFやDKIMで許可されていないサーバーから送ると、なりすましを疑われます。
Gmailは、2024年2月から送信者への要件を厳しくしています。Googleの「メール送信者のガイドライン」では、すべての送信者に次のことが求められています。
| 要件 | 内容 |
| メール認証 | 送信元ドメインにSPFまたはDKIMを設定する |
| TLS | メールの送信にTLS接続を使う |
| 迷惑メール率 | 迷惑メール報告率を0.3%未満に保つ |
| なりすまし禁止 | From:ヘッダーを偽らない |
1日に5,000件以上をGmailに送る場合は、SPFとDKIMの両方、DMARCの設定なども必要です。
参考:メール送信者のガイドライン(Google Workspace 管理者ヘルプ)
フォームの設定ミス
プラグインの側に原因があることもあります。通知先のアドレスが古いまま、送信元に入力者のアドレスを入れている、といったケースです。特に後者は、他人のドメインを名乗って送ることになるので、届かない原因になります。
まず確かめること
メールの設定を変える前に、次の3つを確かめておくと、原因を絞り込めます。
- 迷惑メールフォルダに入っていないか
- 「設定」→「一般」の管理者メールアドレスが正しいか
- フォームの通知先・送信元のアドレスが正しいか
迷惑メールフォルダに入っているなら、送信の仕組みの問題です。どこにも見当たらない場合も、ほとんどは同じ原因です。次の「WP Mail SMTP」で、送り方そのものを変えます。
WP Mail SMTPとは

有効化した直後の画面にも「初期設定のWordPressのメーラーは迷惑メールに入りやすい」という案内が出ます。
WP Mail SMTPは、WordPressのメール送信を、SMTP(メールサーバーにログインして送る方式)や外部の配信サービス経由に切り替えるプラグインです。有効インストール数は400万以上あります。
送信の方法(メーラー)は、無料版で次のものから選べます。
- その他のSMTP(レンタルサーバーのメールアカウントなど)
- Gmail
- Brevo、SendGrid、Mailgun、Postmark などの配信サービス
無料版でも、テストメールの送信や、送信エラーの記録(デバッグイベント)が使えます。送ったメールの履歴を残す「メールログ」は、有料のPro版の機能です。
WP Mail SMTPの使い方

1. プラグインをインストールする
管理画面から「WP Mail SMTP」を検索してインストールするか、下のボタンからもダウンロード可能です。プラグインファイルを wp-content/pluginsディレクトリにアップした後、管理画面から有効化してください。
有効化するとセットアップウィザードが開きますが、閉じても大丈夫です。ここでは、設定画面から1つずつ入れていきます。
2. 送信元のアドレスと名前を決める

管理画面の「WP Mail SMTP」→「設定」を開き、「送信元メールアドレス」(①)と「送信者名」(③)を入れます。
送信元は、サイトと同じドメインの、実在するメールアドレスにします。「送信元メールアドレスを強制使用」(②)は、初期設定でオンになっています。オンのままにしておくと、フォームなど別のプラグインが違うアドレスを指定していても、ここで決めたアドレスから送られます。
3. メーラーを選んで、接続情報を入れる

同じ画面の「メーラー」で、送信に使うサービスを選びます。レンタルサーバーのメールアカウントから送るなら、「その他のSMTP」です。エックスサーバーの場合は、次のように入力します。
| 項目 | 入力する内容 |
| SMTPホスト | サーバーパネルの「サーバー情報」にあるホスト名(sv****.xserver.jp) |
| 暗号化 | SSL(STARTTLSを使う場合はTLS) |
| SMTPポート | 465(TLSの場合は587) |
| 認証 | オン |
| SMTPユーザー名 | 送信に使うメールアドレス |
| SMTPパスワード | そのメールアドレスのパスワード |

Gmailのアカウントから送る場合
メーラーで「Google / Gmail」を選ぶと、Googleアカウントと連携して送信できます。WP Mail SMTPの画面の案内に沿って、Google側で接続用の設定を作り、許可を出す流れです。
ただ、Gmailから送ると送信元は「〜@gmail.com」になります。サイトと同じドメインのアドレスから送りたい場合は、レンタルサーバーのメールアカウントか、配信サービスを使うほうが向いています。
4. テストメールを送る

設定を保存したら、「WP Mail SMTP」→「ツール」の「メールテスト」タブ(①)を開きます。「送信先」(②)に受け取れるアドレスを入れて、「メールを送信」(③)を押します。届いたメールが迷惑メールフォルダに入っていないかも見ておきます。
届かないときは、SMTPユーザー名とパスワード、ポート番号をもう一度確かめます。同じ「ツール」の「デバッグイベント」タブでは、送信エラーの記録も確認できます。
送る量が多いサイトは、配信サービスを使う
レンタルサーバーのメールには、送れる数の目安があります。エックスサーバーでは、1時間あたり1,500通、1日あたり15,000通が目安とされています。
参考:メールを大量に送信したいのですが、送信件数に制限はありますか?(エックスサーバー)
会員サイトやメルマガのように、一度にたくさんのメールを送るサイトでは、Brevo や SendGrid などの配信サービスをメーラーに選ぶと安心です。配信サービス側でSPF・DKIMを設定する手順も案内されています。
送ったメールが本当に送られたかを記録に残すには、送信ログのプラグインを使います。
「お問い合わせしたのに、自動返信のメールが届きません」 こう言われたとき、まず知りたいのは、WordPressがそのメールを送ったのかどうかです。 ところがWordPressは、送ったメールの記録を残しません。そこで役に立つのが、送信したメールを1通ずつ記録するプラグイン「WP Mail Log...
まとめ
届かないメールの多くは、「誰が送ったのか確かめられない」ことが原因です。WP Mail SMTPで、サイトと同じドメインのアドレスから、認証して送る形に変えれば、多くの場合は解決します。
設定が終わったら、問い合わせフォームから実際に1通送ってみて、通知と自動返信の両方が届くかを確かめておくと安心です。フォームの作り方は、こちらの記事にまとめています。
お問い合わせフォームを一から作ろうとすると、「どの項目を入れるべきか、デザインをどう整えるか」など、意外と手間がかかるものです。 今回は「Contact Form 7」でそのまま使える汎用的なフォームのテンプレート集を作成しました。 用途別にHTMLとCSSをコピペするだけで使えるので、ぜひ...
WordPressテーマ集










