状況が変わりました。以前「お問い合わせフォームのメール送信でハマった話」という記事で、Xserverのsendmail制限のせいでメールが送れず、SMTP経由(Gmail中継)に逃がした経緯を書きました。
あれから時間が経ち、Xserverのメールアカウントが正式に有効化されたのを機に、素のwp_mail()(Xserver標準送信)に戻せないか試してみることにしました。
まずは何も考えずに送ってみる
まずは基本から。SMTP設定を一旦外して、wp_mail()でテストメールを送信してみました。
結果はtrueが返ってきて、成功したように見えます。
PHPMailerのMailerプロパティを確認してもmailになっていて、一見すると何の問題もなく送信できているように見えました。
「成功」の意味を思い出す
ここが本題です。ここで、以前の記事でも書いた教訓を思い出しました。
wp_mail()がtrueを返すのは、あくまで「送信キューに投げるところまで成功した」という意味でしかなく、実際に受信箱に届くかどうかは別問題です。
以前ハマった時とまったく同じ罠の構造が、今回も目の前に現れていました。
「動いてるように見えるログ」を鵜呑みにせず、必ず実際の受信確認までするのが、このブログで何度も出てきているパターンです。
今回もこの教訓に従って、テストメールが実際に受信箱に届くかどうかを確認するところまでやってみることにしました。
今回は実際に届くことを確認できた
結果は上々でした。結果として、Xserverのメールアカウントが有効化された後は、標準のwp_mail()のままでも問題なくメールが受信箱に届くことを確認できました。
以前ハマった時点では、そもそもメールアカウント自体が有効化されておらず、sendmail自体が使えない状態だったのが根本原因だったので、環境が整った今は素の送信に戻せる、という結論になりました。
ついでに送信元・宛先も整理した
ついでの整理です。これを機に、送信元・宛先アドレスを個人のGmailアドレスから、独自ドメインのinfo@cats-hand.proに統一しました。
自動返信メールのReply-Toもあわせて揃えて、問い合わせフォーム周りの見た目が個人アカウント頼みだった状態から、ちゃんとサイト専用のアドレスで完結する形にできました。
まとめ
教訓はシンプルです。今回の一件も、結局は「送信成功のログ」と「実際に届くこと」は別物だという、以前と同じ教訓の再確認でした。
ただし今回は環境側の制約が解消されていたおかげで、以前より一歩シンプルな構成に戻せたのは収穫です。
メール送信まわりは特に、動いているように見えるだけで安心せず、都度実際の受信確認をする習慣を崩さないようにしたいと思います。
この記事が参考になったら、応援クリックをお願いします




