ソフト名kan MAILFORM ver1.0
ファイル名kanmailform.zip
バージョン1.0
製作者かん
公開日2003/03/23
カテゴリWeb用ユーティリティ
動作環境
PERL5以上のサーバ
sendmailの使用許可をされているサーバ
配布形態フリーウェア
E-Mailkan1974@104.net
ホームページhttp://kan.hmc6.net/
サンプルページこちらから
転 載圧縮したファイルの転載をする場合は連絡要す。
他に必要なファイルjcode.pl 公式ページ
cgi-lib.pl 公式ページ
長所メール送信後メールの送信内容が確認できる。
デザイン変更が容易である。
短所送信結果を表示する際にメッセージ表示が改行されないで表示される。
送信されるメールについては入力した通りに表示される。
更新履歴
 ver1.0 公開開始

1) CGIの設定をします。(テキストエディタにて編集してください。)
 kanmail.cgi

 青文字はサーバの確認をして設定するところ
 緑文字はファイルの置いた場所によってパスを変更してください。
 他のところは自由に変更していただいて構いませんが変数を変更する場合は
 kanmailform.htmlにも反映させてください

 #!/usr/local/bin/perl
 #↑サーバによって変更要す。

 #かんのものおき (C)kan 2003 kan1974@104.net
 #著作権表示の削除を禁ず!!
 #する人はいないと思うけど念のため

 ###初期設定
 require 'cgi-lib.pl';			#cgi-lib.plを読み込む
 require 'jcode.pl';			#jcode.plを読み込む

 $sendmail = '/usr/local/sendmail';	#sendmailのパスを指定
 $admin_name = '遊び人';
 $admin_mail = 'メールアドレス@管理人';	#送信先アドレスを指定

 ###メールフォームのデータの読み込み
 &ReadParse;

 ###エラーチェック
 if ($in{'name'} eq ''){
  &error('入力エラー','名前が入力されていません');			#名前の入力エラー
 }
 if ($in{'email'} eq ''){
  &error('入力エラー','メールアドレスが入力されていません');		#メールの入力エラー
 }
 if ($in{'subject'} eq ''){
  &error('入力エラー','件名が入力されていません');			#件名の入力エラー
 }
 if ($in{'text'} eq ''){
  &error('入力エラー','メッセージが入力されていません');		#本文の入力エラー
 }
 unless($in{'email'} =~/^[\w\-+\.]+\@[\w\-+\.]+$/i){
  &error('入力エラー','メールアドレスを正しく入力してください');	#メールアドレスチェック
 }

 ###送信内容を設定 _MESSAGE_から_MESSAGE_の間に書いてあることがメールで送信されます。
 $message = <<_MESSAGE_;
 Subject: $in{'subject'}
 From: $in{'email'}
 To: $admin_mail

 Name
 $in{'name'}

 Address
 $in{'email'}

 Url
 $in{'url'}

 Message
 $in{'text'}

 _MESSAGE_

 ###メールの内容をJISに変換
 &jcode'convert(*message,'jis');

 ###メールの送信作業
 open(EMAIL,"|$sendmail $admin_mail");
 print EMAIL $message;
 close(EMAIL);

 ###送信結果表示
 print <<_END_;
 Content-type: text/html

 <html>
 <head>
 <title>送信完了</title>
 </head>
 <body>
 <table border=0 align=center>
 <tr><td align=center>送信完了</td></tr>
 <tr><td>御意見・御感想ありがとうございました。<br>
 皆さんの御意見などを反映させて、運営していきたいと思います。<p>
 送信内容をご確認ください。<p align=right>$admin_name</p></td></tr>
 </table><p>
 <table border=1 align=center>
 <tr><td align=center>お名前</td><td>$in{'name'}</td></tr>
 <tr><td align=center>メールアドレス</td><td>$in{'email'}</td></tr>
 <tr><td align=center>件 名</td><td>$in{'subject'}</td></tr>
 <tr><td align=center>ホームページ</td><td>$in{'url'}</td></tr>
 <tr><td align=center>メッセージ</td><td width=400>$in{'text'}</td></tr>
 </td></tr>
 </table>
 </body>
 </html>
 _END_
 exit;

 ###エラー結果表示
 sub error {
 print <<_ERROR_;
 Content-type: text/html

 <html><head><title>送信エラー</title></head><body>
 <p align=center><font size=5 color=#ff0000>送信エラー</font></p>
 以下のエラーが原因でメールを送信できませんでした。<p><font color=#ff0000>
 $_[0]</font><br>$_[1]<p>$admin_name</body></html>
 _ERROR_
 exit;
 }
 kanmail.html

 緑文字はファイルの置いた場所によってパスを変更してください。
 他のところは自由に変更していただいて構いませんが変数を変更する場合は
 kanmailform.cgiにも反映させてください

 <html>
 <head>
 <title>メールフォーム</title>
 </head>
 <body>
 <p align=center><font size=5>メールフォーム</font></p>
 <form method="POST" action="http://localhost/cgi-bin/kanmailform.cgi">
 <table border=0 align="center">
 <tr><td align="center">お名前</td><td><input type="text" name="name" size=40></td></tr>
 <tr><td align="center">メールアドレス</td><td><input type="text" name="email" size=40></td></tr>
 <tr><td align="center">件 名</td><td><input type="text" name="subject" size=40></td></tr>
 <tr><td align="center">ホームページ</td><td><input type="text" name="url" size=60 value="http://"></td></tr>
 <tr><td align="center">メッセージ</td><td><textarea name="text" cols=50 rows=8 wrap="hard"></textarea></td></tr>
 <tr><td></td><td><input type="submit" value=" 送 信 ">  <input type="reset" value=" 取 消 ">
 </table>
 </form>
 </body>
 </html>
2) 確認とアップロード
 CGI動作環境がある方は動作確認をしてからアップロードしてください。
 CGI動作環境無い方はそのままアップロードされてもかまいませんが
 動作保証等は致しかねます。
 CGIを書き換えされたものに関してはCGIの設置は自己責任でお願い致します。
 パーミッション(属性)は、以下の通りに設定してください。
 サーバーからのパーミッション指定がある場合はそちらを優先してください。

 配置図[青文字=ディレクトリ、( )=パーミッション]
 public_html [ホームページを置くディレクトリ]
  L kanmailform.html (644 rw- r-- r--)HTMLファイルはアップロードしたときのままでよい。
  L cgi-bin [CGIを置くディレクトリ]
    L kanmailform.cgi 705(rwx --- r-x)
    L jcode.pl 604(rw- --- r--)
    L cgi-lib.pl 604(rw- --- r--)

 rwx-はパーミッションの実行権限を表している。
 FTPソフトによっては、この表示方法をとっているので覚えると
 いちいち属性のプロパティを開かなくてもパーミッションがわかるようになり楽である。

 一番目の数字はアカウントの持ち主の自分
 二番目の数字はUN)IXで管理しているグループ(通常無視してよい))
 三番目の数字はホームページの訪問者(自分以外の人)

 r=読み許可(4)
 w=書き許可(2)
 x=実行許可(1)
 -=不可(0)

パーミッションが644の場合
属性(文字)rw-r--r--
属性(数字)644
属性に対する関係自分グループ他人

その他の詳しいことに関しては専門書籍等で調べてください。

4) その他
 特記事項無し

5) 著作権表示等
 ソースにかかれている著作権情報を消さなければ
 著作権情報をCGIファイルに表示する必要はありません。

6) 改造等
 いっこうにして頂いて構いませんが、サポート範囲外とさせていただきます。

 送信先アドレスを入力できるように改造し、送信用メーラーにとして
 絶対に設置しないでください。 悪用された場合、甚大な迷惑がかかります。
 借りているHPスペースからアカウント停止される可能性があります。
 知らなかったじゃ済まされないので、絶対にやらないでください。
 送信用メーラーを設置しても当方は責任を取りません。
 もし設置する場合は自己責任でお願いします。

7) サポートについて
 サポート掲示板もしくは上記のメールにて受け付けています。  名無しやタイトルの書かれていないものは送られてきても
 返答いたしません。
 メールはテキスト形式でお願いします。

8) 感謝
jcode.plを無料で提供されている歌代 和正氏
jcode.pl 公式ページ

cgi-lib.plを無料で提供されているSteven E. Brenner氏
cgi-lib.pl 公式ページ

2003(C)かん
トップページ