本ページにはプロモーションが含まれています。
【確認画面付き】PHP工房の無料メールフォームを静的サイトに導入する方法

Web制作を学び始めた方が最初に直面する壁の一つが、メールフォームの制作ではないでしょうか。
メールフォームを作成するには、PHPなどのプログラミング言語を扱う必要があり、初心者にとってはややハードルが高いと言えます。
しかし、無料で使えるメールフォームサービスが数多く存在しており、これらを活用すれば自作せずとも簡単にお問い合わせフォームが作成できます。
今回は、数ある無料お問い合わせフォームの中でもおすすめの「PHP工房」の使い方、導入方法を解説します。
本記事の情報は2025年1月確認時点での情報をもとに執筆されています。
本記事をご覧になっている時期によっては掲載している数値・内容が異なっている場合があるため、予めご了承お願い致します。
PHP工房とは?
PHP工房は、様々なPHPプログラムが配布されているWebサイト(https://www.php-factory.net/)です。
無料のメールフォームも配布されており、商用サイトに利用できるため、多くの方に利用されています。
他の無料メールフォーム作成ツールと比較して利用制限がなく、HTMLに直接埋め込む形式で利用できるため、CSSを使って自由にデザインを変更できる点が大きな特徴です。
また、デフォルトで送信内容確認画面を付けることができます。
PHP工房の特徴・メリット
- 商用サイトに利用できる
- CSSで好きなデザインにカスタマイズできる
- 送信内容確認画面が付けられる
- 著作権表記が必要ない(※【MailForm01】フリー版に限る)
- 現在も改善アップデートが続いている(※最終更新日2024/05/24)
【STEP. 1】PHP工房のダウンロード方法
PHP工房のお問い合わせフォームは、Webサイトから(https://www.php-factory.net/)ダウンロードできます。
左サイドバーの「【MailForm01】メールフォーム フリー」をクリックします。

少し下にスクロールすると、ダウンロードリンクがあるので、「メールフォーム UTF-8版」をダウンロードします。

以上で、メールフォームがダウンロードされました。

中身を解凍し、フォルダの中を見てみると以下2つのファイルが格納されています。

- contact.html ・・・フォームの見た目やレイアウトを記述するHTMLファイル。自作フォームを利用する場合は必要なし。
- mail.php ・・・ フォームで送信されたデータを処理し、自動返信メールの送信やセキュリティ・スパム防止設定等を行うPHPファイル。
contact.htmlに関しては、自作フォームを利用する場合は特に必要ありません。
【STEP. 2】お問い合わせフォームを準備する
配布プログラムがダウンロードできたら、フォームを準備しましょう。
PHP工房をダウンロードすると、contact.htmlが付いてきますが、オリジナルの見た目にしたい場合は自分でHTMLファイルを用意します。
HTMLファイルを準備する際に1点だけ注意が必要な点は、formタグのaction属性にはmail.phpファイルまでのパスを指定し、method属性には”post”を設定することを忘れないようにしましょう。
<body>
<header>HEADER</header>
<main>
<div class="container">
<h1>お問い合わせ</h1>
<p>
お問い合わせ、お見積もりのご依頼やご質問等は下記のフォームよりお気軽にお問い合わせください。
</p>
<form action="mail.php" method="post">
<label for="name">お名前(必須):</label>
<input id="name" type="text" name="お名前" />
<label for="company">会社名(必須):</label>
<input id="company" type="text" name="会社名" />
<label for="email">メールアドレス(必須):</label>
<input id="email" type="email" name="メールアドレス" />
<label for="number">電話番号:</label>
<input id="number" type="tel" name="電話番号" />
<label for="text">お問い合わせ内容:</label>
<textarea
id="text"
name="お問い合わせ内容"
placeholder="こちらにお問い合わせ内容をご記入ください。"
rows="5"
></textarea>
<input id="submit" type="submit" value="送信" />
</form>
</div>
</main>
<footer>FOOTER</footer>
</body>

【STEP. 3】mail.phpを編集する
お問い合わせフォームが準備できたら、mail.phpをテキストエディターで開き、自動返信メールやその他の設定を行なっていきます。

PHP工房のお問い合わせフォームには設定項目が複数あるので、必須のものや任意のものに分けて詳しく解説します。
必須設定
サイトのトップページのURL(32行目〜)

サイトのトップページのURLを設定します。
ここで指定したURLは、送信完了画面で表示される「トップページへ戻る」リンクの飛び先になります。

なお、送信完了ページとして自分で作成したページを設定している場合は、特に設定していなくても問題ありません。
管理者のメールアドレス(送信先)(35行目〜)

フォーム送信された際に受け取るメールアドレスを設定できます。
複数のメールアドレスを指定したい場合は、「,」で区切って指定します。
送信元メールアドレス(38行目〜)

メールの送信元(From)に表示されるメールアドレスを設定します。

サイトドメイン以外のメールアドレスを設定している場合は、迷惑フォルダに振り分けられてしまう(あるいは受信拒否される)可能性があるため、極力設置先サイトのドメインと同じドメインのメールアドレスに設定するのがおすすめです。
例)
サイトURL:example.com
メールアドレス:info@example.com, noreply@example.comなど
管理者宛メールの送信元(43行目〜)

管理者メールの送信元(差出人)にユーザーが入力したメールアドレスを表示するかどうかを設定できます。(する=1, しない=0)
設定した場合は、送信元が「ユーザーが入力したメールアドレス<送信元メールアドレス(38行目~)>」の形で表示されるようになります。

ユーザーが入力したメールアドレス自体はメール本文にも記載されるので、特に必要ない場合は「0」のままで良いでしょう。
フォームのメールアドレス入力欄のname属性(48行目〜)

フォームのメールアドレス入力箇所に設定しているname属性の値を指定します。

なお、PHP工房のお問い合わせフォームでは、基本的にname属性は日本語で設定しておくことをおすすめします。
name属性を英語表記にしていると、メール本文の一部も英語表記になります。

セキュリティ、スパム防止のための設定
スパム防止のためのリファラチェック(55行目〜)

スパム防止のためのリファラチェックを行うかどうかを設定できます。
リファラチェックを行なっていないと、外部のサイトからformタグで<form action=”http://www.○○○/mail.php” method=post”>と絶対パスでmail.phpまでのパスが指定されるとフォームが送信されてしまいます。
デフォルトでは、「0」と設定されていますが、基本的には「1」としておいた方がおすすめです。
リファラチェックを「する」場合のドメイン(59行目〜)

リファラチェックをする場合のドメイン名を設定します。
お問い合わせフォームを設定するサイトのドメインを設定しましょう。
セッションによるワンタイムトークン(CSRF対策、及びスパム防止)(63行目〜)

ワンタイムトークンを使って、フォームページを経由した正規ユーザーかどうかを判断する設定ができます。
ワンタイムトークンによる認証は確認画面の表示設定をオンにしている場合にしか作動しませんが、基本的には「1」としておいた方がおすすめです。
任意設定
Bccで送るメールアドレス(72行目〜)

Bccで送るメールアドレスを設定できます。
複数のメールアドレスを指定したい場合は「,」で区切って指定します。
管理者宛に送信されるメールのタイトル(75行目〜)

管理者宛に送信されるメールのタイトルを設定できます。
送信確認画面の表示(78行目〜)

送信確認画面を表示するかどうかの設定ができます。
送信確認画面が必要な場合は「1」、送信ボタンをクリックしたらそのままメールが送信されるようにしたい場合は「0」と設定します。
送信完了後に指定のページに移動(81行目〜)

フォーム送信後に、自分で用意したサンクスページに移動させるかどうかを設定できます。
「0」としている場合は、デフォルトで用意されているサンクスページが表示されますが、自分で用意しているページを表示させたい場合は「1」と設定します。
送信完了後に表示するページURL(86行目〜)

送信完了後に表示するサンクスページのURLを設定します。
必須入力項目の設定(89行目〜)

必須入力項目を設定するかどうかの設定ができます。
必須入力項目のname属性(92行目〜)

必須入力項目の入力フォームに設定したname属性の値を設定します。
必須入力項目が複数ある場合は、array(‘属性1’, ‘属性2’, ‘属性3’)のような形で値をシングルクオーテーションで囲み、それぞれをカンマで区切って記載します。
例)
$require = array(‘お名前’,’会社名’,’メールアドレス’);
メールアドレスの形式チェック(148行目〜)

メールアドレスの形式チェックを行うかどうかを設定します。
基本的にはデフォルトの「1」のままでOKです。
自動返信メール設定
送信内容確認メール(101行目〜)

差出人に送信内容確認メールを送るかどうかの設定ができます。
送信したい場合は「1」と設定します。
自動返信メールの送信者(105行目〜)

差出人に対して送信されるメールの送信者欄に表示する名前を設定できます。
送信内容確認メール(108行目〜)

送信確認メールのタイトルを設定できます。
「送信ありがとうございました」や「お問い合わせを受け付けました」などと設定しておくのが良いでしょう。
フォームの名前入力欄のname属性(111行目〜)

フォームの名前入力欄のname属性を設定します。
ここでの設定は、自動返信メールの冒頭本文で相手の名前を入力したい場合に使われます。(「$dsp_name 様」と記載すると、相手の名前が反映されます。)
自動返信メールの冒頭の文言(115行目〜)

自動返信メールの冒頭の文言が設定できます。
テキストは<<< TEXT〜TEXT;の間に記載します。
署名(フッター)の表示(126行目〜)

自動返信メールに署名を表示するかどうかを設定できます。
ここでの設定は、管理者宛メールにも反映されます。
署名(フッター)の表示内容(129行目〜)

署名の表示内容が設定できます。
テキストは<<< FOOTER〜FOOTER;の間に記載します。
デフォルト確認画面・送信完了画面の編集
デフォルトの確認画面や送信完了画面の編集をしたい場合は、それぞれmail.phpの252行目、366行目以降のコードを編集することで編集できます。
PHPで書かれている箇所を触る場合は、それぞれの処理内容をよく確認した上で自己責任で編集をしてみてください。
送信確認画面(252行目〜)

送信完了画面(366行目〜)

PHP工房の有料カスタマイズサポート
無料で配布されているPHP工房のお問い合わせフォームは十分に使えますが、有料のカスタマイズサポートも用意されており、以下のようなカスタマイズを依頼できます。
そのため、PHPに自信がなく自分でカスタマイズするのが不安な方は、こちらのサポートを利用してみるのも良いかと思います。
メールフォームの各種カスタマイズならお任せ下さい!|PHP工房
有料カスタマイズの実装例
- SMTP送信への改修:11,000円(税込)
- Google reCAPTCHAの導入(v2):5,500円(税込)
- リアルタイムの必須チェック:4,400円(税込)〜
など
まとめ
今回は、無料で使えるおすすめのお問い合わせフォームプログラム「PHP工房」の使い方・設定方法を詳しく解説しました。
LPなど、わざわざWordPressを導入するほどではない場合などに非常に便利なので、ぜひ本記事を参考にPHP工房のお問い合わせフォームを使ってみて下さい。
今回は以上になります。最後までご覧頂き、ありがとうございました。