「メールフォーム CGI&PHP」CGIの基本とおすすめのメールフォームを紹介
メールフォームのCGIをさがしているんだけど、どのCGIがいいのかわからない。
導入しようとおもったけど有料だったり、無料だけど機能が低く使いづらかったという話をよく聞きます。
そこで今回の記事ではおすすめのメールフォームCGI&PHPの紹介やCGIの基本情報を紹介いたします。
CGIというのはホームページを閲覧していると「メールフォーム」や「掲示板」、「チャット」だったり「ネットショップ」だったりいろいろとWEB上のシステムがあります。
その昔1990年代後半から流行したWEBアプリを実行するためのインターフェイスです。
今は主にphpという言語でかかれたWEBアプリが主流ですがインターネット黎明期ではCGIがほとんどそれをしめていました。
今回はそんなCGIについてメールフォームを基本にお話します。
目次
おすすめのメールフォームCGI&PHP
PHPのメールフォーム「EasyMail (イージーメール)」
EasyMail (イージーメール) は、完全無料のお問い合わせフォームであり、PHPで開発されています。
ご使用中のレンタルサーバーにインストールするタイプのお問い合わせフォームです。
MySQLによるオープンソースソフトウェアで、お問い合わせフォーム設置後は、管理・編集作業が可能です。MITソフトウェアライセンス下で、商用利用OK、改変OK、再配布なども制限なく、完全無料で自由にお使いいただけます。
EasyMailのご使用にあたり、1点だけお守りいただきたいことがあります。「ソースコードに含まれる弊社 (株式会社ファーストネットジャパン) のライセンス表記は取り除かないこと」、これだけを心に留めていただければと思います。
それでは、EasyMailの導入手順について簡単にご説明しましょう。
- 公式サイトよりEasyMailの素材をダウンロードして解凍処理を行います。
- FTP (ファイル転送用)ソフトで実装するサイトのディレクトリにアップロードします。
- アップロード完了後はインストーラーの指示に従い設定します。
EasyMailの特徴・メリット
- PHPとオープンソースのMySQLで開発されたお問い合わせフォーム
- 「有料プランなし」の完全無料提供
- 複数のフォームを1つの管理画面から簡単操作OK
- 管理画面からお問い合わせフォームを無制限で作成できる
- PC・スマホ・タブレットなど各デバイスに適合したレスポンシブ対応 (スマホ最適化)
- サーバーインストール型なので独自ドメインの利用OK
- 英語・中国語への言語設定の変更可能
- MITライセンス下で再配布・商用利用・改変・有料販売OK
- スパムメール対策としてGoogle reCaptchaの設定が可能
EasyMailの基本情報と機能
運営会社 | 株式会社ファーストネットジャパン | ||
所在地 | 大阪府大阪市中央区南久宝寺町1-7-10 シャンクレール南久宝寺 201 | ||
公式サイト | https://www.mubag.com/ | ||
離脱防止アラート | 住所自動入力機能 | ファイル添付機能 | サイト埋め込み |
○ | ○ | ○ | ○ |
多言語対応 | 自動返信機能 | 入力制限機能 | Google reCaptch対応 |
○ 英語・中国語 | ○ | ○ (半角英数) | ○ |
補足事項 | ・郵便番号入力による住所自動入力・フリガナ自動補完などの入力サポート機能が充実 ・htmlタグ・cssの使用OK、サイトのイメージに見合うデザインに仕上げることができる ・電話番号やメールアドレスの入力に便利な入力制限機能で半角英数字のみに制限可能 |
EasyMailの注意点
EasyMail はMySQLで開発されたお問い合わせフォームであるため、MySQLのデータベースが使えるレンタルサーバーが必要となります。
CGIのメールフォーム「メールフォームプロCGI」
札幌市のWEB制作事業者・シンクグラフィカが開発したメールフォームプロCGI (4.3.1) は、「プロ」の名の通り、高機能なお問い合わせフォームです。perlのプログラミング言語で開発・制作されており、もちろん完全無料で使用できます。
公式サイトよりCGI素材をダウンロードして解凍処理を行った後、FTPソフトを立ち上げてアップロードします。アップロードが完了した後に、パーミッションの設定を行う必要があります。
ダウンロードしたデータの中には、PDFファイルによる設置マニュアルが同梱されているので、導入手順や使い方はこれを参照しておくと良いでしょう。フォームの細かい設定は、「config.cgi」のファイルを開いてから行う仕組みとなっています。
WEB制作に携わっている方なら、メールフォームプロCGIの導入・設置もスムーズにできることでしょう。さらに、オリジナリティのあるデザインを組み入れることもできるので、柔軟性にも富んでいます。
レスポンシブデザインにも対応しており、アンケートやエントリーフォームとしての利用も可能です。完全無料のハイクオリティなCGI素材が激減している中で、メールフォームプロCGIは稀有な存在と言えるでしょう。
メールフォームプロCGIの特徴・メリット
- 最新バージョンは「メールフォームプロCGI (4.3.1)」※2021年10月時点
- CGI / perlスクリプトで開発・制作されたお問い合わせフォーム
- 詳細設定は「config.cgi」のファイルに記載する
- エントリーフォームやアンケートフォームとしても使いやすい
- 文字コードUTF-8対応
- WoredPressやMT (Movable Type) での利用も可能
- Googleスプレッドシートとの連携もスムーズ
- 中国語・韓国語にも対応可能
- 高機能なお問い合わせフォームが完全無料
- 転売や再配布はNGだが基本的に「著作権表示なし」で商用利用もOK
メールフォームプロCGIの基本情報と機能
運営会社 | シンクグラフィカ(個人事業主) | ||
所在地 | 北海道札幌市南区澄川2条 | ||
公式サイト | https://www.synck.com/downloads/cgi-perl/mailformpro/index.html | ||
自動返信機能 | WordPressへの設置 | MT (Movable Type) への設置 | 文字コードUTF-8対応 |
○ | ○ | ○ | ○ |
多言語対応 | レスポンシブ対応 | ショッピングカート機能 | Googleスプレッドシートとの連携 |
○ 英語・韓国語 | ○ | ○ | ○ |
補足事項 | ・確認画面にはDOM (perl版) を駆使 ・オーバーレイ・フラット・ダイアログの3タイプの確認画面あり |
メールフォームプロCGIの注意点
高機能で完全無料なのがメールフォームプロCGIの強みではありますが、アップロードした後にパーミッションの変更処理作業が必要となります。また、設置した後の修正がWEB制作に関する知識のない人には少し難しいかもしれません。
CGIのメールフォーム「POST-MAIL」
老舗中の老舗、CGIの配布サイトと言えば「KEBT-WEB」さん。こちらでCGIのお勉強をされた方も多いのではないでしょうか?
書籍もだされていて日本でのCGIの神といっても過言ではない、と思います。
KENT-WEBではメールフォームCGIのみならず、掲示板やブログ・日記系、チャット、アクセスカウンター、パスワードアクセス制限などを無料で配布しています。
POST-MAILはシンプルながら最低限の機能を備えたメールフォームCGIです。
CGIを勉強するならこのメールフォームを使ってみてもいいかもしれません。
設置方法が分かりやすく、html、cssでのデザインカスタマイズも容易。
POST-MAILの特徴・メリット
- ブラウザから指定のアドレスへメール送信
- 送信者へも、自動で返信メールを送信
- 文字コードはUTF-8
- 項目ごとに「入力必須」を指定することが可能
- 2つの入力項目の内容が同一かどうかをチェックする機能
- 自由に文字修正やデザイン変更をすることが可能
- セキュリティ対策として、確認画面から送信画面への推移はセッションチェック
- スマホ画面に対応したレスポンシブデザイン
公式サイト:https://www.kent-web.com/mail/postmail.html
CGIとは
CGI とは Common Gateway Interface の略で、普通のhtmlで作成するページでは、静的なページですが、CGI を用いることにより動的なページを作成することができます。
例えば、掲示板・チャット・カウンタ・検索エンジン・ショッピングカートなどなど。
動的とは見ているユーザーがなにかCGIを実行することでページの内容を変更することできたりデーターベースからデーターを抽出したりできるものをいいます。
通常CGIとは「Perl」(パール)というプログラム言語で書きます。
CGIを実行するにはホームページを設置しているサーバーに「perl(パール)」というソフトが実装・設定されている必要があります。
一般の有料レンタルサーバーにはperlはほとんど実装されていますが、プロバイダのサービスによくついている「5Mホームページ容量無料」というものにはPerlは使えない場合がよくあります。
CGIの動作について
CGIをHTMLから実行するためには以下のような実行タグを書く必要があります。
例えば、
<form action=”****.cgi”>
<a href=”****.cgi”>
<img src=”*****.cgi”>
のような形でCGIを実行させることができます。
このような実行タグによりサーバーにあるPerlというソフトが動作しブラウザに結果を返します。
CGIで何ができるのか
では具体的にCGIによって何ができるのか。
ファイルを操作できる。(ファイルを呼び込んだり、書き込んだり、削除したり、修正したり)
メールを送信できる。
データベースにアクセスし膨大なデータを検索したり、削除したり、追加することができる。
ファイル操作とは
たとえば、掲示板を例に挙げます。
書き込むという操作はファイルに保存するということです。
掲示板の内容をみるということはファイルを呼び込むということです。ファイル操作ができるからこそ掲示板やチャットができるのです。
通常のhtmlではそれができません。
CGIを設置する前に
CGIはフリーのものがたくさん配布されています。そのようなサイトでダウンロードしてください。
CGIを設置するのはHTMLファイルを設置するのとは若干異なります。注意すべき点がいくつかあります。
・perlのパスについて
・パーミッションについて
・ディレクトリ制限について
サーバーにアップロードする方法はHTMLファイルと同様FTPソフトを使います。
perlのパス
フリーのCGIをダウンロードするサイトによくかかれている「Perlのパス」というものがあります。
私がはじめてCGIを設置した時この意味がわかりませんでした。
!#/usr/bin/perl
のような見たことがない書き方??
これをwindows風に書くと
c:\usr\bin\perl.exe
とでもいいましょうか。
!#/usr/bin/perlはUnix系(Linux系)のディレクトリの書き方です。
(UNIX、LinuxはWindowsのようなOSのひとつです。)
usrフォルダの中にあるbinフォルダの中にあるperlというファイルの意味になります。
Unixサーバーには拡張子がないものはたくさんあります。Windowsに慣れしたしんでいる人にはすこしややこしいかもしれませんがperl.exeみたいなことだとおもってください。
CGIのプログラムの1行目にPerlのパスを指定することでCGIを実行さすことがでるようになります。
パーミッション(実行権)とは
これもまたWindowsユーザーには聞きなれない言葉だと思います。
UNIX(Linux)はファイルには必ず実行権(アクセス権)を設定する必要があります。
この実行権を設定することでセキュリティを強固にすることができます。
いままで作成してきたHTMLファイルも実はパーミッションを設定しています。
FTPソフトが自動的に判別しているので気にせずアップロードできています。
FTPソフトを見てもらえばわかりますが、確認の方法はアップロードしているファイルを右クリックしてパーミッションもしくは実行権というところで確認できると思います。
そのパーミッションを正確に設定していないとCGIは全く動きません。
一般的に
CGI実行ファイルは755
書込み用ファイルは666
一般フォルダは755
書込みファイルがあるフォルダは777
それ以外のファイルは644
というのが多いです。
ディレクトリ制限
レンタルサーバーからWEBの領域を借りた際にディレクトリ(フォルダ)を制限しているサーバー会社があります。
制限とはなんなのかといえば決められたディレクリ(フォルダ)でのみCGIが実行できるということ。いわゆる固定のディレクトリでした動作しないということです。
よくあるディレクトリは「cgi-bin」というディレクトリ名です。
有料のレンタルサーバー会社のほとんどではどのディレクトリにおいてもCGIは動作するようになっています。しかし一部の安価なサーバー会社やあまりサーバーに力をいれていない会社ですとその傾向があるように思えます。
(最近では少なくなってきましたが・・・)
なぜcgi-binに限定されているのかといえば、Linuxサーバー特有の構造でもあるのですが、CGIというプログラムを実行する上で固定化することでセキュリティを強化したいというのが主な理由です。
PHPのメールフォームもおすすめ
メールフォームのCGIを使うこともいいのですが、今の時代やはりPHPが主流。
多くのフレームワークも出てきておりまだまだバージョンアップし続けています。
Perlに関してはもはやいい意味で枯れた言語です。今後の進化のスピードや開発者の多さを考えたらPHPのほうが間違いなくおすすめです。
もしCGI(perl)でなければいけないというこだわりがないのであれば、PHPでメールフォームを設置しませんか?
以下の「「PHPを使ってメールフォームを無料で作成!」を参考にしてみてください。
PHPを使ってメールフォームを無料で作成!
「メールフォーム CGI&PHP」CGIの基本とおすすめのメールフォームを紹介:まとめ
最近ではCGIを使ったWEBアプリは非常に少なくなってきました。
今やほとんどがPHPという言語で書かれています。
その理由としては
CGI(perl)はPHPに比べて重い。
PHPのほうが設置が簡単。
CGIをつかった有名なWEBアプリはMovableTypeです。
PHPを使っている有名なWEBアプリはWordPressです。
WordPressが後発にもかかわらずメジャーになったのはPHPで開発されているということが大きな要因かと私は思います。
しかしながら、私はPerlも好きです。それは単に愛着なんですけどね。
メールフォームならPHPで開発された「EasyMail」がおすすめ
ここまで読んでくださった方々の中には、Web制作を行っている方、企業や個人の宣伝としてwebで宣伝されている方など たくさんいらっしゃるかと思います。
しかし、個人でweb作成をされている方、企業としてweb作成をされている方、
お問合せページに使いにくさをかんじてませんか?
たくさんの方々からお問い合わせが来ると、お客様への返信の管理やその他機能に物足りなさを感じませんか?
あるいは、メールフォームに拡張機能を追加しようとするとほしい機能が有料だった…なんてこともありませんか?
そんな方のお悩みを解決するツールが、、
EasyMailという無料のメールフォームPHPです!
弊社ではEasyMailというメールフォーム作成ツールを展開しております!
今まではかゆいところに届かなかった、もっとカスタマイズ性が高いものが欲しい、などなどお客様の声をふんだんに反映したものになっております!
大事なことなのでもう一度言いますが、無料です!
詳しくは↓のリンクからEasyMailのトップページをご覧ください!