Skip to content

WordPressサイトのメールが届かない場合の対処方法

WordPressでのメール送信は、一見シンプルに見えますが、裏側ではいくつかのステップを経て行われています。デフォルトの状態では、WordPressはWebサーバーの機能を借りてメールを送ります。

以下に、その仕組みを分かりやすく解説します。

1. メール送信の基本的な流れ

WordPressがメールを送るプロセスは、大きく分けて以下の4つの段階で進みます。

  1. トリガー(きっかけ)

    • お問い合わせフォームの送信、パスワードリセットの要求、新しいコメントの通知、ECサイトでの注文確定など、ユーザーやシステムのアクションが発生します。

  2. WordPressの処理 (3ss7cp_mail)

    • WordPress内部にある 3ss7cp_mail() という関数が呼び出されます。これは、「メールを送る準備をして!」という命令です。

    • この時、WordPressに標準搭載されているライブラリ PHPMailer が動きます。これがメールの宛先、件名、本文などを整理してパッケージ化します。

  3. サーバーへの引き渡し (PHP mail 関数)

    • WordPressは、Webサーバー(PHP)に対して「このメールを送って」と依頼します。通常はPHPの mail() 関数が使われます。

  4. Webサーバーからの送信 (MTA)

    • Webサーバー(ApacheやNginxなどが動いているサーバー)の中にあるメール配送プログラム(SendmailやPostfixなど)が、インターネットを通じて受信者のメールサーバーへメールを届けます。

2. なぜデフォルトのままでは「届かない」ことが多いのか?

多くのWordPressユーザーが直面するのが、「メールが迷惑メールに入る」あるいは「全く届かない」という問題です。これは、上記のステップ4(Webサーバーからの送信)に弱点があるためです。

特徴 Webサーバー (デフォルト) SMTPサーバー (推奨)
主な役割 Webページを表示すること メールを確実に届けること
信頼性 低い。なりすましと疑われやすい 高い。認証を経て送信される
送信元 wordpress@ドメイン名 などになりがち 実際のメールアカウントを使用
到達率 スパム扱いされやすい 正常に届きやすい

ここがポイント:

Webサーバーは「Webサイトを見せる」のが本業であり、「メールを送る」のはおまけ機能のようなものです。そのため、GmailやOutlookなどの受信側サーバーから見ると、「Webサーバーから送られてくるメールは怪しい(なりすましの可能性がある)」と判断されやすく、ブロックされることがよくあります。

3. 推奨される解決策:SMTPの使用

この問題を解決するために、SMTP(エスエムティーピー)という仕組みを使うのが一般的です。

  • 仕組み: WordPressがWebサーバーの機能を使わず、外部の信頼できるメールサーバー(Gmail, Outlook, SendGrid, エックスサーバーのメール機能など)に接続し、そこからメールを送ってもらう方法です。

  • 方法: 「WP Mail SMTP」などのプラグインを使用します。

これにより、「Webサーバーが無理やり送った手紙」ではなく、「郵便局(正規のメールサーバー)を通して送った手紙」として扱われるため、到達率が劇的に向上します。

WordPressは標準で 3ss7cp_mail() 関数とPHPの mail() 関数を使って、Webサーバーから直接メールを送ろうとします。 しかし、この方法はセキュリティ判定で弾かれやすいため、実運用ではSMTPを使って外部のメールサーバー経由で送信するのがベストプラクティスです。

プラグインによるSMTPの使用

WordPressのSMTPプラグインといえば、実績・信頼性ともに「WP Mail SMTP」が事実上の標準(デファクトスタンダード)です。利用者数が圧倒的に多く、設定も分かりやすいため、まずはこれを使うことを強くおすすめします。

以下に、最も汎用的な「レンタルサーバーのメール機能(Xserver、さくらサーバーやConoHaなど)を使って送信する場合」の設定手順を解説します。

おすすめプラグイン: WP Mail SMTP

このプラグインは、Gmail、Outlook、SendGridなど様々な送信元に対応していますが、今回は多くの人が利用する「その他のSMTP(レンタルサーバーのメール)」の設定方法をご紹介します。

設定手順 (WP Mail SMTP)

1. プラグインのインストールと有効化

  1. WordPress管理画面の [プラグイン] > [新規追加] をクリック。

  2. 検索窓に「WP Mail SMTP」と入力。

  3. 鳩のアイコンのプラグインを [今すぐインストール] し、[有効化] します。

2. 基本設定

有効化すると設定ウィザード(案内画面)が出ることがありますが、管理画面メニューの [WP Mail SMTP] > [設定] から手動で行う方が確実です。

「一般」タブで以下の項目を設定します。

  • 送信元メールアドレス: サイトから送られるメールの「From」アドレス(例: info@yourdomain.com)。※サーバーで作成したメールアドレスと一致させるのが無難です。

  • 送信者名: 受信箱に表示される名前(サイト名など)。

3. メーラーの選択

画面を下にスクロールし、[メーラー] の項目で 「その他のSMTP」 を選択します。

(※Gmailなどを使いたい場合はここでGmailを選びますが、認証設定が少々複雑です)

4. SMTPオプションの入力

「その他のSMTP」を選ぶと、さらに下に詳細な入力欄が現れます。ここにはお使いのレンタルサーバーのメール設定情報を入力します。

(サーバーの管理画面で「メールソフト設定情報」などを探すと記載されています)

項目 入力内容の例(サーバーにより異なります)
SMTPホスト sv1234.xserver.jp (Xserverの場合) など
暗号化 通常は SSL または TLS を選択
SMTPポート SSLなら 465、TLSなら 587 が一般的
認証 ON にする
SMTPユーザー名 メールアドレスそのもの(例: info@yourdomain.com
SMTPパスワード そのメールアドレスを作成した時に決めたパスワード

入力したら [設定を保存] をクリックします。

5. テストメールの送信(重要)

設定が正しいか必ず確認します。

  1. [WP Mail SMTP] > [ツール] をクリック。

  2. 「メールテスト」 タブが開きます。

  3. 「送信先」に自分のプライベートアドレス(Gmailなど)を入力し、[メールを送信] をクリック。

  4. 「成功しました!」 と表示され、実際にメールが届けば設定完了です。

メーラー(送信手段)の選び方

設定の際、どのサービスを使うべきか迷う場合は以下を参考にしてください。

  • 「その他のSMTP」(レンタルサーバー)

    • おすすめ: 普通の企業サイト、ブログ、ポートフォリオ。

    • 理由: 追加料金がかからず、設定がシンプル。

  • 「Gmail / Google」

    • おすすめ: 個人の小規模サイト、テスト環境。

    • 注意: GoogleのAPI設定が必要で少し手間がかかります。送信数制限(1日500通など)があります。

  • 「SendGrid / Brevo」

    • おすすめ: 会員サイト、ECサイト、メルマガ配信など大量にメールを送る場合。

    • 理由: 到達率が非常に高く、大量送信でも遅延しにくいですが、従量課金やアカウント登録が必要です。

メールが届かない原因を特定する方法

メールが届かない原因は多岐にわたりますが、「どこで止まっているか」を切り分けることで、原因を特定できます。

原因は大きく分けて以下の3箇所に潜んでいます。

  1. WordPress内部(プラグインの不具合や設定ミス)

  2. サーバー/通信経路(SMTP認証エラー、サーバーの制限)

  3. 受信側(迷惑メール判定、ブロック)

これらを特定するための具体的な手順は以下の通りです。

手順1:エラーログを確認する(最強の近道)

「メールが送られたかどうか」「送ろうとしてどんなエラーが出たか」を記録するプラグインを入れて確認するのが最も確実です。

おすすめツール: WP Mail Logging(無料)

※先ほどの「WP Mail SMTP」を入れている場合は、その中の「メールテスト」機能でも代用できますが、このプラグインは過去の履歴が見やすいです。

  1. プラグインをインストール・有効化する。

  2. お問い合わせフォームなどから、テスト送信を行う。

  3. 管理画面の [WP Mail Logging] を見る。

【判定方法】

  • ログに記録がない場合:

    • 原因: フォームプラグイン(Contact Form 7など)の設定ミス、または他のプラグインとの競合(キャッシュ系など)で、そもそもメール生成処理が動いていません。

  • 「Error(赤色)」になっている場合:

    • 原因: WordPressからサーバーへの受け渡し、またはサーバーの認証で失敗しています。「Connection timed out」や「Authentication failed」などのエラーメッセージが表示されるので、それを読み解きます。

  • 「Sent(正常送信)」になっているのに届かない場合:

    • 原因: WordPressと送信サーバーは仕事をしましたが、「受信側」または「途中経路」でブロックされています。これは「迷惑メール判定」の可能性が高いです。

手順2:テスト送信でエラーメッセージを見る

「WP Mail SMTP」プラグインを入れている場合、この機能が原因特定に非常に役立ちます。

  1. [WP Mail SMTP] > [ツール] > [メールテスト] を開く。

  2. 自分のメールアドレス宛に送信ボタンを押す。

【よくあるエラーと原因】

  • Authentication failed / Incorrect authentication data

    • 原因: SMTPのユーザー名かパスワードが間違っています。余計なスペースが入っていないか再確認してください。

  • Connection timed out

    • 原因: ホスト名が間違っているか、ファイアウォールでブロックされています。

  • Sender address rejected

    • 原因: 「送信元アドレス」として設定したメールアドレスが、そのサーバーでの送信を許可されていません。(例:エックスサーバーからGmailのアドレスを送信元にして送ろうとしている等)

手順3:迷惑メール判定の可能性を疑う(SPF設定)

手順1や2で「成功」と出るのに届かない場合、なりすましメールとして処理されている可能性が濃厚です。特にGmail宛(@gmail.com)に届かないケースが増えています。

チェックすべき項目:

  • 送信元アドレスの不一致:

    WordPressの設定画面(設定 > 一般)の「メールアドレス」と、実際に送信に使っているサーバーのドメインが一致しているか確認してください。

    • NG例:サーバーはXserverなのに、送信元アドレスを myname@gmail.comyahoo.co.jp にしている。

  • SPFレコードの設定:

    ドメインのDNS設定(お名前.comやムームードメインなどの管理画面)で、SPFレコードが設定されているか確認してください。これは「このサーバーからメールを送ってもいいですよ」という証明書のようなものです。

診断チャート

問題の切り分けをまとめると以下のようになります。

  1. ログ記録プラグインを入れる

    • ログに残らない → フォームの設定やキャッシュプラグインを見直す。

    • ログにエラーが出る → SMTP設定(パスワード等)を見直す。

    • ログは成功だが届かない → 迷惑メールフォルダ確認、SPFレコード確認。

最終更新日: 2026-01-30

この記事は役に立ちましたか?

前へ...

ユーザーの位置情報を自動的に検出し、WordPressのページに表示する方法

次へ...

WordPress 投稿と固定ページをワンクリックで複製|プラグイン不要カスタマイズ