Contact Form 7 が赤枠で送信できない場合の解決方法

Contact Form 7 の赤枠エラー解決方

赤枠エラーを解決しよう

コンタクトフォーム7の送信時によくあるトラブルで、

メッセージの送信に失敗しました。後でまたお試しください。

という赤枠のエラーが出ることがあります。
今回はその赤枠エラーの治し方です。

メールのセットアップミス

公式サイトにも記載があるように赤枠のメッセージの送信に失敗しましたエラーは、メールのセットアップが正しく行われていない場合に起こるエラーです。

サイトのドメインを変更したり、メールアドレスを変更したり、サーバーを変更したりした場合に起こることがあります。基本的には wp_mail() のホストに起因するエラーだと思います。なのでメールの設定を再度見直してみましょう。

https://contactform7.com/ja/faq/i-get-an-error-message-with-a-red-border-so-how-can-i-solve-this/

エラー修正

※こちらは上級者向けの記載となります。自己責任で作業してください。

原因場所

ワードプレスのメールセットアップはPHPコードにて行います。

管理画面から「外観」>「テーマファイルエディター」をクリック、そのあと functions.php を開きます。

開いたら次のようなコードが書かれているかと思います。
書かれていない場合はSMTPのセットアップが済んでいないので、以下のコードを記載してください。

add_action("phpmailer_init", "send_smtp_email");
function send_smtp_email( $phpmailer ) {
    $phpmailer->isSMTP();
	$phpmailer->Host       = "[SMTPサーバー]";
    $phpmailer->SMTPAuth   = true;
    $phpmailer->Port       = 465;
    $phpmailer->SMTPSecure = "tls";
    $phpmailer->Username   = "[メールアドレス]";
    $phpmailer->Password   = "[パスワード]";
    $phpmailer->From       = "[送信元アドレス]";
    $phpmailer->FromName   = "[送信者名]";
}

各コードの意味は下記になります。

$phpmailer->Host

メールアドレスに紐づいていつSMTP接続情報を記載。

$phpmailer->SMTPAuth

SMTP認証を使うかどうか。基本的に true

$phpmailer->Port

SMTP送信ポート番号。SMTP+SSLで送信するなら 465 、SSLを利用しないなら 587 。基本的には 465 で問題ないと思います。

$phpmailer->Username

メールアドレス。ドメイン名まで含めたメールアドレス全体を渡します。

$phpmailer->Password

メールアドレスを作った時に設定したパスワード。

$phpmailer->From

送信元のメールアドレス。 $phpmailer->Username と同じメールアドレスでOK。

$phpmailer->FromName

送信先にメールが届いたときに表示したい送信者名。パッと見たときに誰か分かる名前にするのがベター。

以上で設定が完了です。

再度送信してみる

ここまで設定したら再度コンタクトフォーム7にて送信してみてください。

メールが届いたならば設定は完了です。

「WP Mail SMTP」などのプラグインもやっていることは基本的に同じです。
諦めずにひとつひとつ設定をしていきましょう。

ではまた!