ContactFrom7の送信テストを行う

2025.03.04 09:00
2025.03.04 09:13
ContactFrom7の送信テストを行う

ContactFrom7で作成したフォームがちゃんと動いているかどうかをテストする方法を探索しました。前提条件として、WP Mail SMTPプラグインを使っています。

やり方としては、送信先をwp-config.phpで強引に変えてしまいます。

まずテーマのfunction.phpに以下を追加します。
これはWP Mail SMTPの管理画面の送信先アドレスに何をいれようと「CF7_TO_EMAIL」の定数に入ってるアドレスに送るというコードです。

add_filter('wpcf7_mail_components', 'custom_cf7_mail_to', 10, 3);
function custom_cf7_mail_to($mail_components, $contact_form, $mail) {
    if (defined('CF7_TO_EMAIL')) {
        $mail_components['recipient'] = CF7_TO_EMAIL;
    }
    return $mail_components;
}

次に定数をセットします。場所はwp-config.phpで、こんな感じです。

if (file_exists(__DIR__  . '/.testing')) {
  define('CF7_TO_EMAIL', 'test@hogehoge.com');
} else {
  define('CF7_TO_EMAIL', 'production@hogehoge.com');
}

サーバーに「.testing」というファイルが有るかどうかでテストモードかどうかを判断し、それぞれのアドレスを定数に定義するというわけですね。例えばこの「.testing」をCIツールなどで作成してテストし、終わったら「.testing」を削除すればいいというわけです。

送信メールはテスト用アドレスを作成しておいて到着を確認すれば完璧です。

今回は以上です!