WooCommerceのメールが届かない時はWP Mail SMTPの「Force From Email」を確認

WooCommerceのメールが届かない時はWP Mail SMTPの「Force From Email」を確認

WooCommerceのメールが届かない時はWP Mail SMTPの「Force From Email」を確認

WP Mail SMTPのテストメールは届くのに、WooCommerceの注文確認や処理完了のメールだけが届かない場合、原因のほとんどはWP Mail SMTPで「Force From Email(送信元アドレスを強制)」の設定が無効になっていることだ。この設定を有効にし、WooCommerce側の送信元アドレスも確認すれば、数分で解決する。

なぜテストメールは届くのにWooCommerceのメールだけ届かないのか

なぜテストメールは届くのにWooCommerceのメールだけ届かないのか

WP Mail SMTPのテストメール機能は、管理画面から手動で送信した単体のメールだ。このとき、WP Mail SMTPは自分が設定されたSMTPサーバー情報(サーバー名、ポート番号、ユーザー名、パスワード)と認証用のメールアドレスを使ってメールを送る。テストが成功しているということは、SMTPサーバーとの通信自体は正常で、認証情報も間違っていない。

一方、WooCommerceが自動で生成するメール(新規注文、処理中、完了など)は、SMTPサーバーに直接接続するわけではない。内部的にWordPressのwp_mail()関数を呼び出し、WP Mail SMTPがそれをフックしてSMTP経由で配送する。この過程で問題になるのが送信元(From)アドレスの不一致だ。

多くのSMTPサービス(SendGrid、Gmail SMTP、Microsoft 365など)は、なりすまし防止のため、メールのFromヘッダーが認証済みのアドレスと一致しているか厳しくチェックする。WooCommerceはデフォルトで「wordpress@あなたのドメイン」のようなアドレスを送信元に設定するが、これがSMTP認証に使ったアドレスと違うと、SMTPサーバー側で送信が拒否される。テストメールはWP Mail SMTPが認証アドレスを直接使うので届く。ここが分かれ目だ。

Before(不一致=届かない)
WP Mail SMTP認証 admin@example.com
WooCommerce送信元 wordpress@example.com
SMTPサーバーが送信を拒否 認証アドレスとFromアドレスが異なるため
After(Force From Email有効=届く)
WP Mail SMTP認証 admin@example.com
WooCommerce送信元 admin@example.com 強制一致
SMTPサーバーが正常に配送 認証アドレスとFromアドレスが一致
不一致で拒否される状態  Force From Emailで解決

上の図のように、WP Mail SMTPの認証アドレスとWooCommerceが使う送信元アドレスが異なると、SMTPサーバーは「このメールのFromは本当に認証された持ち主か?」と判断できず、配送を止めてしまう。解決にはWP Mail SMTP側でこの不一致を強制的に揃える設定が必要になる。

WP Mail SMTPの「Force From Email」を有効にする手順

WP Mail SMTPの「Force From Email」を有効にする手順

まず試すべきは、WP Mail SMTPの設定画面にある「Force From Email」オプションを有効にすることだ。この設定は、WooCommerceを含むすべてのプラグインが生成するメールの送信元アドレスを、WP Mail SMTPに登録した認証アドレスで上書きする働きを持つ。これにより、SMTPサーバーがアドレスの不一致でメールを拒否する問題が解消される。

STEP 1 WordPress管理画面の「WP Mail SMTP」→「設定」を開く
STEP 2 「From Email」セクションまでスクロールする
STEP 3 「Force From Email」のチェックボックスをオンにする
STEP 4 画面下部の「設定を保存」ボタンを押す
STEP 5 WooCommerceのメール送信テストを実行して確認する

「Force From Email」が表示されない場合の確認ポイント

WP Mail SMTPの無料版(Free)には「Force From Email」のオプションが存在しないバージョンもある。設定画面の「From Email」セクションに項目が見当たらない場合は、以下の点を確認する。

  • WP Mail SMTPが最新バージョンに更新されているか
  • 有料版(Pro)を使っているか、無料版で機能が制限されていないか
  • 「From Email」欄に認証アドレスと完全に同じメールアドレスを手動で入力しているか

無料版で「Force From Email」が使えない場合は、「From Email」欄にSMTP認証で使っているアドレスをそのまま手入力し、さらに後述のWooCommerce側の送信元設定も同じアドレスに揃える方法で対応できる。

WooCommerce側の送信元アドレス設定も揃える

WooCommerce側の送信元アドレス設定も揃える

WP Mail SMTPの「Force From Email」が有効でも、設定が競合したり予期しない挙動でうまくいかないケースがある。念のため、WooCommerce自体のメール送信元設定もSMTP認証アドレスに揃えておくと確実だ。

WooCommerceの「差出人アドレス」を変更する

管理画面の「WooCommerce」→「設定」→「メール」タブを開く。ページ上部に「差出人アドレス(From Address)」という項目がある。ここにWP Mail SMTPで認証したメールアドレスとまったく同じアドレスを入力する。デフォルトではドメイン名から自動生成されたアドレスが入っていることが多いので、上書きする。

同じ画面のすぐ上にある「差出人(From Name)」はショップ名など任意の表示名でかまわない。ここは認証とは関係なく、受信者のメールソフト上で「誰からのメールか」として表示されるだけだ。

個別のメールテンプレート設定は通常変更不要

「メール」タブの下部には「新規注文」「処理中」「完了」など個別のメール通知一覧がある。ここで各メールの「受信者アドレス」を設定できるが、送信元アドレスを個別に指定する項目は標準ではない。そのため、通常は上部の「差出人アドレス」だけ修正すれば十分だ。もし個別テンプレートをカスタマイズするプラグインを入れている場合は、そのプラグイン側でFromアドレスが上書きされていないか確認する。

その他の確認ポイント

その他の確認ポイント

WooCommerceからテストメールを送る方法

WP Mail SMTPのテストメールだけでなく、WooCommerce側からもメール送信をトリガーして確認したい場合は、管理画面の「WooCommerce」→「ステータス」→「ツール」タブを開き、「メールをテスト」機能を使う。ここで任意のメール種別(例「新しい注文」)を選んで「送信」ボタンを押すと、実際のWooCommerceメールが送信される。Force From Emailの設定後、このテストで届くかどうかを見るのが最も確実だ。

プラグインの競合を疑う

稀に、他のSMTPプラグインやメール関連プラグイン(メールテンプレートカスタマイザー、メールログプラグインなど)が共存していると、WP Mail SMTPのフックより先にメール処理を横取りしてしまうことがある。「Force From Email」とWooCommerce側の設定を合わせても改善しない場合は、以下の手順で切り分けを行う。

  1. WP Mail SMTP以外のメール関連プラグインをすべて無効化する
  2. 標準テーマ(Twenty Twenty-Fiveなど)に一時的に切り替える
  3. WooCommerceの「メールをテスト」で再度送信を試す

ここで届くようになれば、テーマかプラグインのどちらかに原因がある。1つずつ再有効化して原因を特定する。

SMTPサーバー側の送信ログを確認する

上記すべてを試しても解決しない場合、SMTPサーバー側でメールがどう処理されているかを確認する。SendGridやGmail SMTP、Microsoft 365など、利用しているSMTPサービスには管理画面があり、送信ログやアクティビティログを確認できる。WooCommerceが送信を試みた形跡があるか、エラーが出ているかを見ることで、問題の所在がWP Mail SMTPより先か後かを切り分けられる。

よくある質問

「Force From Email」を有効にしてもメールが届かない場合は?

WooCommerce側の「差出人アドレス」が認証アドレスと一致しているか再度確認する。また、WP Mail SMTPの「Force From Name」も併せて有効にすると、名前の不一致によるフィルタリングを回避できることがある。それでも改善しなければ、他のメール関連プラグインを無効化して競合を確認する。

SMTP認証のメールアドレスはどのアドレスを使うべきか

自社ドメイン(例 info@自社ドメイン.com)を使うのが最も信頼性が高い。Gmailの無料アカウントでも送れるが、1日の送信制限があり、ビジネス用途ではGoogle WorkspaceやSendGridなどの専用SMTPサービスが推奨される。いずれの場合も、認証に使ったアドレスと完全に同じものを送信元アドレスとして使う必要がある。

迷惑メールフォルダに入ってしまう場合はどうするか

SMTP認証を使っていても、SPFレコードやDKIM署名がドメインのDNSに正しく設定されていないと、迷惑メールに分類されることがある。WP Mail SMTPの設定画面から「メールテスト」を送った際に表示される診断結果で、SPFやDKIMの状態を確認できる。これらが未設定または失敗している場合は、利用しているSMTPサービスの指示に従ってDNSレコードを追加する。

この記事のポイント

  • WP Mail SMTPのテスト成功はSMTP通信が正常な証拠で、問題は送信元アドレス不一致にある
  • 「Force From Email」を有効にすれば、全プラグインの送信元アドレスが認証アドレスに強制統一される
  • WooCommerce側の「差出人アドレス」設定も同じ認証アドレスに手動で揃えるとさらに確実
  • 改善しない場合はメール関連プラグインの競合やSMTPサーバー側のログを確認する
  • SPFやDKIMのDNS設定も合わせて確認すると、迷惑メール対策まで完結する
佐々木 太陽

・ Reddit、Stack Overflow、WordPress.org フォーラムを日々巡回し、現場の悩みを拾い上げて記事化 ・ WordPress、WooCommerce、Next.js などモダンWeb制作領域のトラブルシューティングが専門 ・ 「検索しても答えが見つからなかった」を一つでも減らすことが目標 ・ エラーメッセージから根本原因にたどり着く粘り強い調査が得意 ・ 初心者がつまずきやすい箇所を先回りで解決する記事作りを心がけている

メッセージを残す