記事内に商品プロモーションを含む場合があります
このような悩みの解決記事です。
お問い合わせフォームが作れず、SNSリンクさせたり、メールアドレスを直書きしている場合があるかと思います。
今回は無料かつ簡単に作れ、メール受信可能なフォームの作成方法を解説します。
必要なファイルをダウンロード
PHP工房様が配布しているファイルを使用します。
こちらのページから、下記ファイルをダウンロードします。

メールフォーム UTF-8版
ダウンロードファイルには、以下が入っていることを確認してください。

- mail.php
- contact.html
HTML・CSSで実装する
次に、お問い合わせフォームを実装します。


※ページとフォームデザインは、NEST online様の教材を使用させていただきました。
このフォームに、お問い合わせ機能を実装します。
input、textareaタグにname属性を追加する【HTML】
実装フォームにname属性を追加します。まず、フォームのHTMLを確認しましょう。
↑のコードから、inputタグ、textareaタグを抜き出すと以下の通り。
送信ボタンを除く、全てのinput、textareaタグに独自name属性をつけます。
(※送信ボタンは入力内容がないので不要)
method、action属性を指定する【HTML】
ここまでのコードを整理すると、以下の通りです。
最後にformタグにmethod、action属性を追加しましょう。
完成コードはこちら↓
mail.phpを設定する【PHP】
次は、ダウンロードしたmail.phpを編集します。
30〜45行目の必須項目の設定です。
トップページ設定
フォーム送信後の「トップへ戻る」ボタンのリンク先です。
(※ポートフォリオサイトのトップページが良さそう)
32・33行目
受信メールアドレス
問い合わせがあった場合に、お知らせを受け取るメールアドレスを入力します。
(gmailなどでもOK)
送信元アドレス
自動返信メール設定時の、送信者アドレスです。
公式が見解しているとおり、ポートフォリオサイトと同ドメインのアドレスが良いでしょう。
「独自ドメインのメールアドレス作成」に関して知りたい方は、こちらで解説しています。

メールアドレス入力欄のname属性値
フォームのメールアドレス入力欄のname属性を記載します。
ここまで入力したら、ファイルを保存します。
mail.phpをファイルと同階層にアップロード
調整した両ファイル(HTML・PHP)をサーバーにアップロードします。

テスト送信しよう
アップロードできたら、メールが届くかどうかを確認します。
フォームを入力し、送信ボタンを押してみましょう。

確認画面が出るので、「送信する」をクリック。

どうやら送信できたようです。

メールを確認してみましょう。

届いていました。
これで問い合わせフォームが実装できました。
【解説】name属性値はメール項目名になる
name属性を追加したかと思いますが、実は、メールの項目名がname属性値になっています。

この因果関係があるので、「入力項目名」と一致させる必要があったのですね。
受信仕様をカスタマイズする
PHP工房様のフォームは、確認画面の有無や、受信仕様などをカスタマイズ可能です。
また、送信後の「- PHP工房 -」表記が気になった方もいるかもしれません。

このテキストも取り除くことができるので、併せて解説します。
まずは、どんなカスタマイズ機能があるか、主たるものを解説します。
送信完了後、サンクスページを設ける
サンクスページを設けることで、冒頭で説明した問い合わせ完了ページの「- PHP工房 -」の表記を無くすことができます。
これならクライアントさんに納品するWebサイト制作にも使えそうです。
必須入力項目を設ける
必須項目にしたいname属性値を、$require = array(‘お名前’,’Email’);の値に設定します。
問い合わせ者に自動返信メールを送る
問い合わせた人は、ちゃんとフォームがあなたに届いているか気になるはずですので、ここは設定しておくのが良いでしょう。
107行目以降は、送信者名、メールタイトル、本文などを設定することができます。
主なものは以上です。
必要なものを設定してみてください。
まとめ
本記事では、以下のことについて解説しました。
- 必要なファイルをダウンロード
- HTML・CSSで実装する
- name属性を追加する
- テスト送信しよう
- 受信仕様をカスタマイズする
一から実装するのは、バックエンド(PHP)の知識も必要となり非常に大変です。
しかし、既に作られているものを活用すればすぐに完成するので、ぜひ試してみてください。