自分のサイトにメールフォームを設置したい。PHPが動作するサーバで、PHPもほんの少しならわかる、っていうときに無料のメールフォームを使うことがあると思います。
いくつか、実際に使って調べた中で良さげなメールフォームを3つ紹介いたします。
- PHP工房 PHP多機能メールフォーム
- TransmitMail
- Responsive Mailform
前提条件
- PHP
- サーバに設置
- フリー(無料)
- 著作権表示なし可能
- 設置しやすい
- 改変可能
※ここでの情報は、記事執筆時点での情報です
PHP工房 PHP多機能メールフォーム フリー(無料)版
PHP工房 PHP多機能メールフォーム フリー(無料)版
http://www.php-factory.net/mail/01.php
老舗のPHPメールフォーム。最低限、必要なものは揃っています。ファイルも1つなのでスッキリする反面、コードをいじりたいときはPHPのソースをいじることになります。毎回送信確認しないといけないかもしれませんね。エラー画面は、エラーの文言のみが出ます。また、「>」などの記号が「>」などに変換されてしまいます。
私だけかもしれませんが、ローカル環境下では、hostsファイルを変更してURLをローカル以外にする必要がありました。
TransmitMail
TransmitMail
https://github.com/dounokouno/TransmitMail
PHP工房のものよりも、ハイカラな印象。バージョンアップし続け、サポートの切れたPHPのバージョンは切り捨てている模様。
PHP部分(ロジック)とHTML部分(構造)を分離できるのが特徴。フロントエンドを変更したいときや、作業を分担しているチームで使う場合は便利そうです。HTML部分を記述する際には、独自の記述(これはtinyTemplateを引き継いでいる)の使い方を知る必要がありますが、様々なバリデーション(項目チェック)に対応しています。
Responsive Mailform
Responsive Mailform
http://www.1-firststep.com/archives/462/
「PHP工房 PHP多機能メールフォーム」と「TransmitMail」は、基本的にHTML部分は簡素もしくは自分で作ってねというスタンスですが、ある程度できてあるのがこの「Responsive Mailform」。jQueryなどバリバリ使って、郵便番号から住所の補完などもやってくれます。
メールフォーム比較表
ざっと比較しました。
PHP工房 PHP多機能メールフォーム | TransmitMail | Responsive Mailform | |
確認画面(必須項目チェック・エラーチェック) | あり(別画面でひと項目ずつエラーの文字だけ出る) | あり(画面は切り替わるが同じインターフェイス上でもう一度入力をうながす) | あり(送信ボタンを押した際に同一画面で表示(ページ先頭には戻らない)) |
PHPの理解の必要度 | 最低限の設定であれば大丈夫 | ある程度わかれば大丈夫(独自の書き方を少し覚える必要がある) | ある程度わかれば大丈夫 |
自動返信(確認)メール機能 | あり(設定で可能) | あり(デフォルトで設定) | あり |
サーバー側プログラムでの最大文字制限 | なし | あり(選択式) | なし |
JavaScriptの使用 | していない | していない | 使用している |
JavaScript無効端末(古いガラケーなど)対応 | 対応 | 対応 | していない |
全角英数字を半角に自動変換 | 設定で可能(メールは自動変換の前にエラーチェックがはしる) | あり | なし |
郵便番号からの住所自動入力 | なし | なし | あり |
対応文字コード | Shift-JIS、UTF-8、EUC-JP | UTF-8 | UTF-8 |
メールフォーム二重チェック | 有料版で提供 | なし | あり |
IPアドレスの取得 | 取得できる | 取得できる | できない |
CAPTCHA機能 | なし | なし | なし |
添付ファイル | できない | 可能 | できない |
著作権の放棄 | していない | していない | していない |
著作権の表示の削除(ユーザーが見える部分) | 表示しなくていい | 表示しなくていい | 表示しなくていい |
著作権の表示の削除(ユーザーが見えない部分) | 削除可能 | MITライセンスのため削除不可(ただし、削除しても大丈夫とのこと) | 削除可能 |
商用利用 | 可能 | 可能 | ? |
改変 | 可能 | 可能 | 可能 |
動作するPHPのバージョン | PHP4.3.9~PHP5.5(一部機能は5以降) | PHP5.4〜5.6 | ? |
まとめ
WordPressだと「Contact Form 7」を使っている方も多いと思いますし、定番という感じです。ですが、静的ページ用のサーバサイドのメールフォームは種類や定番といったものがなかなかない印象でした。
HTMLやCSSやJavaScriptのフロントエンド部分は自分でやるという方は、PHP工房のものかTransmitMail。ある程度フロントエンドも作り込まれているほうがいいという方は、Responsive Mailformがいいのではないでしょうか。
ここにはない機能はサクッと追加してもいいでしょうし、メールアドレスチェックのバリデーションに使う正規表現も独自のものに変えてもいいかもしれませんね。
なにか間違いなどありましたら、ご連絡ください。