Webとメールが別管理?WordPressのメール不達をインフラ視点で解決する方法

Web制作の現場でよくある構成の一つに、「Webサイトはレンタルサーバーだが、メールは別の法人向けプロバイダ(CPIやMicrosoft 365など)を使っている」というケースがあります。

この「別管理」の状態では、WordPressからのメール送信が非常に失敗しやすくなります。今回は、インフラエンジニアの視点でこの問題をどう切り分け、解決すべきかを整理しました。

1. なぜ別管理だとメールが届かないのか?

通常、WordPressはサーバーの標準機能を使ってメールを送ろうとします。しかし、Webとメールのサーバーが分かれている場合、受信側のサーバーから見ると以下の理由で不審なメールと判定されます。

  • 送信元の正当性がない:特定のドメインのメールなのに、全く関係ないWebサーバーから送られてきている。
  • SPFレコードの不一致:DNSで許可されていないサーバーからの送信とみなされる。

これを解決するには、DNSの設定と、WordPress側の送信エンジンの変更が必須です。

2. インフラ側の対策:DNS(MXとSPF)の整合性

まずは、ドメインがどこでメールを受け、どこからの送信を許すかを定義します。

■MXレコード
メールの受け口を正しく指定します。今回の事例では、メール専用サーバー(CPI等)を指定することで、メール運用をWebサーバーから完全に切り離しました。

■SPFレコード
ここが重要です。「このサーバーからの送信を許可する」という宣言をします。「+mx」という記述を入れることで、MXレコードが指している正規のメールサーバー経由の送信も許可されます。インフラ側でのこの一行が、到達率を左右するセーフティネットになります。

3. WordPress側の対策:SMTP認証への切り替え

次に、PHPの標準機能を使わず、「正規のメールアカウントでログインして送る(SMTP認証)」方式に切り替えます。

使用プラグイン:WP Mail SMTP

この設定により、WordPressはWebサーバーから勝手に送るのではなく、正規のメールサーバーにログインし、そこから代理で送ってもらうという正規のルートを通るようになります。

4. 盲点!厳格なサーバーほどヘッダーを厳しくチェックする

インフラ側が整っても、フォームの設定が悪いと送信は失敗します。特に法人向けの厳しいサーバーでは以下のチェックが入ります。

■送信元(From)の不一致
ログインしたアカウントのアドレスと、送信元として表示させたいアドレスが異なると、なりすましと判断されます。送信元は必ず自社の正規アドレスに固定し、返信先(Reply-To)にお客様のアドレスを指定する設定に変更します。

■ヘッダーの日本語(エンコード)エラー
返信先などに、メールアドレスではないサイト名などの日本語が混じっていると、パケットが不正とみなされます。徹底的に引き算をして、純粋なメールアドレスのみを記述するのが定石です。

まとめ:トラブルシューティングは境界線を疑え

今回の事例では、メール送信エンジンとしての開通はインフラ設定で100パーセント完了できました。

Web制作において、インフラの知識は守りの要です。「設定は合っているはず」という思い込みを捨て、以下の3点を現物確認することが解決への最短ルートです。

  1. DNSレコードの反映状況
  2. SMTPプラグインのテスト送信ログ
  3. サーバーが求める正しいヘッダーの形式

インフラに強いWebエンジニアとして、目に見えない配送ルートを一つずつ確定させていく作業。これこそが、クライアントの信頼を守るプロの仕事だと考えています。


一人で抱え込みがちな技術トラブルの解決から、現場での立ち振る舞いを含めたメンタリングまで。現状を打破したい方は、お気軽にご相談ください。

▶︎ 平林 颯太への制作・コンサルティング相談はこちら(Smile Creations お問い合わせフォーム)
▶︎ MENTAでのスポット相談はこちら