ご相談を受けたサイトでは、Contact Form 7からメールを送れず、送信エラーが表示されていました。まず、WordPressからメールを送るための機能と設定を確認しました。
最初に確認したメールの送信手段
対象のサイトでは、PHPのmail()というメール送信用の機能がサーバーで無効になっていました。SMTPプラグインも入っておらず、Contact Form 7からメールを送る手段がない状態でした。
そこでWP Mail SMTPを導入しました。これは、WordPressからメールサーバーに接続して送信するための追加機能(プラグイン)です。ただし、導入しただけでは解消せず、設定の途中で別の問題も見つかりました。
認証情報が正しくてもSMTP認証に失敗した
SMTP認証は、メールサーバーに接続する際に送信者を確認する仕組みです。この作業では、正しい認証情報でも535エラーが出ました。
サーバー側の「国外からのSMTP認証のアクセス制限」が有効だったため、対象となるメールアカウントで、制限の設定を変更しました。これは今回の環境で行った対応の記録です。同じエラーが出たサイトで、一律にアクセス制限を無効にする手順として紹介するものではありません。
プラグインを使う場合と使わない場合で認証結果を比較
確認の手がかりになったのは、プラグインを使わずに認証を試した結果でした。OpenSSLのopenssl s_clientという接続確認ツールでは、SMTP認証が成功し、235という応答が返りました。一方、プラグイン経由では失敗していました。
作業記録には、この違いからWP Mail SMTP側のパスワード保存に問題があると特定した旨が記されています。メールサーバーに認証できることと、WordPressから同じ情報を使って認証できることを、別々に確かめました。
認証情報を設定し直して送信を確認
対象のメールアカウントでパスワードを変更したうえで、プラグインに保存していたパスワードを削除し、入力し直しました。その後、WP Mail SMTPのテスト送信が成功し、Contact Form 7のフォーム送信も成功したことを確認しています。
パスワードに含まれていた記号の扱いも、原因として疑ったことが記録されています。ただし、その記号だけが失敗の原因だったとは確定していません。複数の設定を変更しているため、「パスワードを変えれば直る」とは言えない事例です。
この作業で確認できた範囲
ここまでに挙げた認証と送信の成功は記録に残っていますが、依頼者の受信箱でメール本文まで確認した記録はありません。
そのため、この事例の「送信成功を確認」は、依頼者側でメールを受け取れたことまで確認したという意味ではありません。
フォームの修理をご依頼いただく場合
フォームがあるページのURLと、送信後に表示される文言をお知らせください。エラーになるのか、送信完了と表示されるのに届かないのかで、確認する内容が変わります。最初のご相談には、メールや管理画面のパスワードを書かないでください。
Contact Form 7の修理事例とお問い合わせフォームの修理に、ご相談の案内を載せています。修理後の更新・点検はWordPress保守、制作会社さまからのご依頼は制作会社さま向けの改修・保守をご覧ください。