このページの内容
- クイック診断
- WordPress のメールが失敗する理由
- 一般的な症状
- ステップ 1:失敗の種類を確認する
- ステップ 2:SMTP または API メーラーをインストールする
- ステップ 3:送信者と DNS 認証を確認する
- ステップ 4:問い合わせフォームのメールを修正する
- ステップ 5:WooCommerce のメールを修正する
- ステップ 6:迷惑メールに振り分けられる問題を解決する
- ステップ 7:プラグインの競合とホスティングのルールを確認する
- エラーパターンと対処法
- 修正方法:SMTP プラグイン + メールサービス
- 特定の問題のトラブルシューティング
- 修正後の監視
- 予防策
- リリース前の QA チェックリスト
WordPress サイトからメールが送信されていない場合、同じ問題を抱えているのは少なくありません。これは問い合わせフォーム、パスワード再設定、WooCommerce の注文確認、プラグイン通知など、多くの場面に影響する最も一般的な WordPress の問題の 1 つです。
良いニュースがあります。約 10 分で修正できます。
WordPress からメールが送信されない場合、失敗が起きる場所は 4 つあります。WordPress がメッセージをそもそも作成しない、プラグインがブロックするか誤った経路に送る、ホストが送信を拒否する、または受信側のメールプロバイダーが拒否・フィルタリングする、のいずれかです。
最初にやるべきことは「別の問い合わせフォームプラグインを試す」ことではありません。どのメールが失敗したのかを特定することから始め、認証済みの DNS と再現可能なテストを備えた適切な送信者設定へと進みましょう。
- WordPressメッセージを作成しないwp_mail()
- プラグインブロックまたは誤った経路に送るメール経路
- ホスト送信を拒否する送信
- 受信メールプロバイダー拒否またはフィルタリングする
クイック診断
プラグインを変更する前に、この表で問題を絞り込みましょう。
| 症状 | 考えられる原因 | 最初の確認事項 |
|---|---|---|
| パスワード再設定メールが届かない | WordPress の送信経路が壊れている | SMTP プラグインからテストメールを送信する |
| 問い合わせフォームは送信済みと表示されるが受信トレイが空 | フォームの宛先またはメーラーの問題 | フォームの通知設定とメールログを確認する |
| WooCommerce の注文メールが届かない | テンプレートの無効化、宛先の誤り、または送信者の問題 | WooCommerce のメール設定を見直し、テスト注文を行う |
| メールが迷惑メールに振り分けられる | 認証または送信者評価が弱い | SPF、DKIM、DMARC、From ドメイン、コンテンツを確認する |
| 一部のメールは届くが他は失敗する | プラグイン固有の通知設定 | プラグインの種類ごとに個別にテストする |
| 管理者メールは届くが顧客へのメールが失敗する | 受信者側のフィルタリング、テンプレート、または配信停止(サプレッション) | ログと顧客のメールアドレスのステータスを確認する |
1 回のテストに頼らないでください。パスワード再設定、問い合わせフォーム、WooCommerce、管理者通知、そしてメールを送信する会員制や予約のプラグインをすべてテストしましょう。
WordPress のメールが失敗する理由
WordPress はメールの送信に PHP の組み込み mail() 関数を使用しています。この方法には根本的な問題があります。
| 問題 | 影響 |
|---|---|
| 認証なし | メールが不審なものとしてフラグが立てられる |
| 共有ホスティング IP | メールプロバイダーによってブラックリストに登録されることが多い |
| 黙った失敗 | メールが失敗してもエラーメッセージが出ない |
| 暗号化なし | セキュリティ上の懸念 |
| レート制限 | ホスティングプロバイダーが送信を制限する |
ほとんどのホスティングプロバイダー(GoDaddy、Bluehost、SiteGround など)は、サーバーでのスパム濫用を防ぐために PHP mail() を完全に制限または無効にしています。
WordPress は wp_mail() を使用しており、プラグインが経路を変更しない限り、通常はメッセージをサーバーのメール機能に渡します。このデフォルトの経路は、次の理由で不安定になることがあります。
- ホストが PHP mail をブロックまたはスロットリングしている場合がある。
- メッセージが送信ドメインで認証されていない場合がある。
- 共有ホスティングの IP の評価が低い場合がある。
- From アドレスがウェブサイトのドメインと一致していない場合がある。
- ログを有効にしていないと、失敗に気づけない場合がある。
- 複数のプラグインが同じメール動作を上書きしている場合がある。
- DNS レコードが欠けている、または整合していない場合がある。
長期的な解決策は、専用の SMTP または API メーラー経由で送信し、ドメインを認証することです。
一般的な症状
- 問い合わせフォームの送信が受信されない
- 「メールを確認してください」とメッセージが出るが何も届かない
- WooCommerce の注文確認が届かない
- パスワード再設定リンクが配信されない
- 新規ユーザー登録メールが失敗する
- プラグイン通知が消える
- メールは届くが迷惑メールに振り分けられる
ステップ 1:失敗の種類を確認する
簡単なテストマトリクスを作成します。
| テスト | 重要な理由 |
|---|---|
| パスワード再設定 | WordPress コアのメールを確認できる |
| 新規ユーザー通知 | 管理者メールとアカウントメールを確認できる |
| 問い合わせフォームの送信 | フォームプラグインの通知を確認できる |
| WooCommerce のテスト注文 | 顧客向けとストア向けの注文メールを確認できる |
| 失敗した注文または返金 | あまり使われないトランザクションテンプレートを確認できる |
| SMTP プラグインのテストメール | メーラーへの接続を確認できる |
各メッセージが配信されたか、届かないか、遅延したか、迷惑メールに入ったかを記録してください。これにより、問題が全体的なものか、1 つのプラグインに限定されたものかがわかります。
ステップ 2:SMTP または API メーラーをインストールする
WP Mail SMTP などの信頼できる WordPress メーラープラグインを使用してください。そのプラグインで、Brevo、SMTP.com、SendGrid、Mailgun、Gmail、Amazon SES、または認証付き送信に対応したその他のプロバイダーなどの送信サービスを経由して WordPress のメールをルーティングできる必要があります。
基本設定:
- メーラープラグインをインストールする。
- プラグインが対応しているプロバイダーを選ぶ。
- API キー、OAuth、または SMTP 認証情報で接続する。
- 自社ドメインを使った送信元メール(From Email)を設定する。
- サイトまたはブランドに合った送信者名(From Name)を設定する。
- 送信元の強制(force from)設定は、プラグインを壊さないことを確認してから有効にする。
- テストメールを送信する。
API メーラーは、エラーやイベントログがわかりやすいため、SMTP 認証情報をそのまま使うよりも監視しやすいことがよくあります。SMTP も正しく設定すれば問題なく機能します。
ステップ 3:送信者と DNS 認証を確認する
「WordPress のメールが迷惑メールに入る」という問題の多くは、送信者の身元に帰着します。
確認事項:
- From ドメインが、自社で管理する同じドメインまたは認証済みのサブドメインである。
- SPF に WordPress のメールを送信するサービスが含まれている。
- 送信サービスで DKIM が有効になっている。
- DMARC が存在し、送信者設定と整合している。
- ビジネスメールの From アドレスに Gmail や Yahoo などの無料メールボックスを使っていない。
- 返信先(reply-to)アドレスが確認されている。
DNS レコードを追加したら、反映を待ってから再テストしてください。DNS の管理画面が正しく見えても、実際のメッセージが受信トレイのヘッダーで認証を通過するまでは証明になりません。
ステップ 4:問い合わせフォームのメールを修正する
問い合わせフォームのプラグインには、独自の通知設定があることがよくあります。
チェックリスト:
- フォーム通知が有効になっていることを確認する。
- 「宛先(To)」アドレスが正しいことを確認する。
- From アドレスには訪問者のメールではなく、自社ドメインのアドレスを使う。
- 訪問者のメールアドレスは Reply-To に入れる。
- 必須項目と迷惑メール対策の設定を確認する。
- テスト中は重複した通知を無効にする。
- 管理者以外のメールアドレスでテストする。
SMTP テストは成功するのに問い合わせフォームのメールが失敗する場合、問題は通常、送信者ではなくフォームの設定にあります。
ステップ 5:WooCommerce のメールを修正する
WooCommerce には、イベントごとに別々のテンプレートと受信者があります。
確認事項:
- WooCommerce のメール設定を開き、必要なメールがすべて有効になっていることを確認する。
- 管理者メールの受信者欄を見直す。
- テスト商品で実際にテスト注文を行う。
- 処理中、完了、返金済み、失敗の各注文ステータスをテストする。
- ゲスト購入時のメールとアカウント関連のメールの両方が送信されることを確認する。
- 別のプラグインが WooCommerce のメールテンプレートをカスタマイズしていないか確認する。
- API または SMTP の失敗レスポンスがないかログを確認する。
顧客に注文メールが届かない場合は、売上とサポートの問題として扱ってください。マーケティングキャンペーンを始める前に、トランザクションメールの配信を修正しましょう。
ステップ 6:迷惑メールに振り分けられる問題を解決する
迷惑メールフォルダへの振り分けを解消するには、通常 1 つの魔法の設定ではなく、いくつかの改善が必要です。
まずはここから:
- SPF、DKIM、DMARC でドメインを認証する。
- 送信者名と From アドレスを一貫させる。
- 送信量が多い場合、一度もウォームアップしていないドメインからの送信は避ける。
- 壊れたリンク、URL 短縮サービス、誤解を招く件名を取り除く。
- 可能な限り、日常的な WordPress 通知に添付ファイルを付けない。
- 送信プラットフォームでバウンスと苦情のシグナルを監視する。
- 送信量や評価が異なる場合は、マーケティングメールとトランザクション用の WordPress メールを分ける。
メールが売上にとって重要なら、最初に受信トレイへの配信に成功した後も迷惑メールテストを怠らないでください。テーマ、プラグイン、ホスティング、DNS、送信者を変更した後は、再度テストしましょう。
ステップ 7:プラグインの競合とホスティングのルールを確認する
送信サービスは機能しているのに WordPress のメールが不定期に失敗する場合は、競合を切り分けます。
安全な手順:
- バックアップが最新であることを確認する。
- 他のメール関連プラグインを一時的に無効にする。
- SMTP または API メーラーだけを有効にしておく。
- WordPress コアのメールをテストする。
- 問い合わせフォームをテストする。
- WooCommerce をテストする。
- プラグインを 1 つずつ再度有効にする。
-
バックアップが最新であることを確認済み
-
他のメールプラグインを無効にする
- SMTP または API メーラーだけを有効にしておく
-
WordPress コアのメールをテストする
-
問い合わせフォームをテストする
-
WooCommerce をテストする
-
プラグインを 1 つずつ再度有効にする
ホスティング側の制限も確認してください。マネージドホスティングの中には、送信用の SMTP ポートをブロックしたり、承認されたメールサービスの使用を求めたりするものがあります。SMTP 認証情報では失敗するのに API 経由の送信は機能する場合、ホスティングの制限が原因かもしれません。
エラーパターンと対処法
| エラーまたは挙動 | 対処法 |
|---|---|
| 認証に失敗した | 認証情報を作り直し、ユーザー名、パスワード、API キー、または OAuth 接続を確認する |
| 接続タイムアウト | ホストのファイアウォール、SMTP ポート、SSL/TLS モードを確認するか、API メーラーを使う |
| 送信者が認証されていない | メールサービスで From ドメインまたは送信者アドレスを認証する |
| DKIM 失敗 | DKIM の DNS レコードをコピーし直し、反映を待つ |
| SPF 失敗 | 送信サービスを SPF に追加し、SPF レコードを複数作らない |
| DMARC 失敗 | From ドメインを SPF または DKIM と整合させ、ポリシーを見直す |
| フォームが管理者には送信されるがユーザーには送信されない | ユーザー通知テンプレート、差し込みフィールド、配信停止を確認する |
| WooCommerce の管理者メールが届かない | テンプレートの有効状態と受信者欄を確認する |
修正方法:SMTP プラグイン + メールサービス
ステップ 1:WP Mail SMTP をインストールする
- WordPress 管理画面で「プラグイン > 新規追加」へ
- 「WP Mail SMTP」 を検索する
- 「今すぐインストール」次に「有効化」をクリックする
ステップ 2:無料の Brevo アカウントを作成する
- brevo.com に登録する(無料、クレジットカード不要)
- 「設定 > SMTP & API > API キー」へ
- API キーを生成してコピーする
ステップ 3:プラグインを設定する
- 「WP Mail SMTP > 設定」へ
- 送信元メールにドメインのメールアドレスを設定する(例:[email protected])
- 送信者名にサイト名を設定する
- メーラーとして Brevo を選択する
- API キーを貼り付ける
- 「設定を保存」をクリックする
ステップ 4:テストする
- 「WP Mail SMTP > メールテスト」へ
- メールアドレスを入力する
- 「メールを送信」をクリックする
- 受信トレイに届くことを確認する(迷惑メールフォルダではないことを確認)
ステップ 5:DNS 認証を設定する
ドメインの DNS 設定に SPF と DKIM レコードを追加してください。Brevo が正確なレコードを提供します。これは迷惑メールフォルダを避けるために重要です。SPF DKIM DMARC ガイドをご覧ください。
特定の問題のトラブルシューティング
問い合わせフォームのメールが送信されない場合
- WP Mail SMTP のテストメールが機能することを確認する
- 問い合わせフォームプラグインの設定を確認する(Contact Form 7、WPForms、Gravity Forms)
- フォーム設定の「宛先」メールアドレスが正しいことを確認する
- 迷惑メールフォルダを確認する
- メールフィルターがメッセージをブロックしていないか確認する
WooCommerce のメールが届かない場合
- WooCommerce > 設定 > メール へ
- 各メールタイプが有効になっていることを確認する
- 受信者のメールアドレスを確認する
- テスト注文を行って確認する
- WP Mail SMTP のメールログでエラーを確認する
メールが迷惑メールに振り分けられる場合
- SPF、DKIM、DMARC レコードを設定する
- 送信元メールがドメインを使用していることを確認する(@gmail.com ではない)
- ドメインがメールブラックリストに登録されていないか確認する
- メールスパムテストを実施する
- メールコンテンツのスパムトリガーワードを避ける
プラグインの競合がある場合
- 他のメール関連プラグインをすべて無効化する(1 つのプラグインのみがメールを処理すべき)
- 一時的にデフォルトテーマに切り替える
- WP Mail SMTP のみでテストする
- プラグインを 1 つずつ有効化して競合を見つける
修正後の監視
WordPress のメールは、プラグインの更新、DNS の編集、ドメインの変更、プロバイダーの変更の後に再び壊れることがあります。
監視する項目:
- SMTP または API のエラーログ
- バウンス率
- 迷惑メールの苦情
- 失敗した WooCommerce のメール
- 問い合わせフォームの通知の失敗
- パスワード再設定に関するサポートチケット
- DMARC レポート(確認している場合)
重要なサイトでは、毎月の定期テストを設定してください。EC サイトでは、WooCommerce やチェックアウトに大きな変更を加えるたびにテストしましょう。
予防策
修正したら、WordPress のメールを信頼性の高い状態に保つために:
- 配信を監視する:WP Mail SMTP のログを定期的に確認する
- プラグインを更新する:古いプラグインはメールを壊す可能性がある
- 更新後にテストする:WordPress・プラグインの大型更新後はメールに影響する場合がある
- ドメインをクリーンに保つ:ブラックリストから外れた状態を維持する
- プロのメールを使用する:常にドメインから送信し、無料のメールアドレスは使わない
完全な SMTP 設定の詳細については、WordPress SMTP ガイドと WP Mail SMTP ガイドをご覧ください。
リリース前の QA チェックリスト
問題が解決したと判断する前に:
- パスワード再設定メールが受信トレイに届く。
- 新規ユーザーのメールが届く。
- 問い合わせフォームの管理者通知が届く。
- 問い合わせフォームの訪問者向け確認メールが届く(使用している場合)。
- WooCommerce の注文メールが管理者と顧客の両方に届く。
- 返金、注文失敗、注文完了のメールが機能する。
- 送信ドメインが SPF と DKIM を通過する。
- DMARC が存在する。
- 使っていないメーラープラグインが無効になっている。
- ログに繰り返し発生する失敗がない。
- サポートチームがメールログの確認場所を知っている。
よくある質問
WordPress からメールが送信されないのはなぜですか?
WordPress は PHP mail() を使用していますが、ほとんどのホスティングプロバイダーがこれをブロックまたはフィルタリングします。メールが送信されない、黙って失敗する、または迷惑メールに振り分けられます。修正方法:SMTP プラグインをインストールして、Brevo のような専用サービスを通じてメールをルーティングしてください。
WordPress のメール配信を修正するにはどうすればよいですか?
WP Mail SMTP プラグインをインストールし、Brevo(無料、1 日 300 通)に接続して、SPF と DKIM 認証を設定して、テストしてください。これにより、フォームや WooCommerce を含むすべての WordPress メールの配信が修正されます。
WordPress のメールが迷惑メールに振り分けられるのはなぜですか?
メール認証(SPF、DKIM、DMARC)の欠如が主な原因です。共有ホスティングの IP がブラックリストに登録されていることも多いです。修正方法:信頼できるプロバイダーの SMTP を使用して、適切な DNS 認証レコードを設定してください。
WordPress のメールはデフォルトで壊れているのですか?
必ずしもそうではありませんが、デフォルトの送信経路は脆弱です。ホスティング、サーバーのメール設定、送信者の身元、受信トレイのフィルタリングに左右されます。本番サイトでは専用のメーラーを使用してください。
SMTP と API メーラーのどちらを使うべきですか?
どちらも機能します。API メーラーは設定やログがわかりやすいことが多く、SMTP は幅広くサポートされています。お使いのプラグインとメールプロバイダーが最もよくサポートしている方法を選び、十分にテストしてください。
Gmail のアドレスから送信できますか?
ビジネスサイトでは、自社ドメインのアドレスを使用してください。無料のメールボックスからサイトのメールを送信すると、認証や信頼性の問題が生じる可能性があります。
SMTP テストは成功するのに WooCommerce のメールが失敗するのはなぜですか?
SMTP 接続に問題がなくても、WooCommerce のテンプレート、受信者、注文ステータスのトリガー、または別のプラグインの設定が誤っている可能性があります。WooCommerce 固有のメールイベントを個別にテストしてください。