#!/usr/local/bin/perl ######################################################################### # このプログラムの使用方法 # # # # mail_form.cgi.txt base.pl.txt test.html.txt my.pl.txt # # をローカルに保存し .txt の無い名称にしてください. # # # # フォームに入力されたデータを、処理し、 # # あらかじめ指定されたメールアドレスと # # フォームに入力されたメールアドレスに # # 入力されたデータを送信します. # # # # また、入力されたデータを指定された、ファイルに保存します. # # オプションで、入力日をファイルに保存する事もできます. # # # # # # フォームの HTML ページに以下の記述をしてください. # #
# # # # このファイルを文字コード EUC CR+LF で保存してください. # # # # base.plの記述内容とファイル名. # # カスタマイズについてはbase.plファイルの解説文をお読みください. # # # # 複数のフォームからこのプログラムを利用する場合は # # base.plの記述内容のカスタマイズと # # このファイルとbase.plのファイル名を変更する必要があります. # # base.plのファイル名を変更した場合は、このファイルの # # require "base.pl";のbase.plを新しいファイル名に変更し、 # # 文字コード EUC CR+LF で保存してください. # # また、フォームHTMLのactionのファイル名記述を # # このプログラムの新しいファイル名に変更してください # # # # このファイル mail_form.cgi (あるいは新しいファイル名) # # base.pl (あるいは新しいファイル名) # # my.pl # # の3ファイルをサーバーの # # /home//www/cgi-bin # # にアップロードしてください. # # はドメイン管理者のアカウント名です. # # この場合必ず ASCII あるいは text モードで FTP 送信してください. # # FTP 送信は のアカウントで実行してください. # # 送信後、このファイル mail_form.cgi (あるいは新しいファイル名) # # のパーミッションを 0755 あるいは -rwxr-xr-x に設定してください. # # # # 以下の Perl5 モジュールがインストールされていなければなりません. # # CGI.pm # # Jcode.pm # # # # このプログラムは、Ultra Speed Net 管理下のサーバーでのみ利用できます. # # Copyright (c) 1999-2004 Tadao Mochizuki # # webmaster@creative-japan.org # # # ######################################################################### use CGI qw(:cgi-lib); &ReadParse; use Jcode; require "base.pl"; require "my.pl"; ##################### #入力フォームデータを EUC に変換する while (($k,$v) = each %in) { Jcode::convert(\$v,"euc"); $in{$k} = $v; } ##################### #入力フォーム名英文と表示用日本語の配列を読みこむ $name_list_e = @name_list_e; for ($i = 0; $i < $name_list_e; $i++) { $our{$name_list_e[$i]} = $name_list_j[$i]; } ##################### #入力フォーム必須事項が記入されていない場合、警告する $warning_flg = 0; foreach $key (keys %our) { if (($key !~/_$/) && ($in{$key} eq "" && $in{$key} == 0)) { $warning_title = "$our{$key}"; &warning; $warning_flg = 1; last; } } if ($warning_flg == 0) { ##################################### #データを指定された、ファイルに保存する if($save_flg ==1) { &save_data; } ##################################### #完了HTMLを表示する &thank_you; ##################################### #メール用データ準備 while (($n,$m) = each %in) { Jcode::convert(\$m,"jis"); $in{$n} = $m; } while (($o,$p) = each %our) { Jcode::convert(\$p,"jis"); $our{$o} = $p; } Jcode::convert(\$r_body,"jis"); Jcode::convert(\$r_order_top,"jis"); ##################################### #webmasterあてに入力データをメールする &mail_to_webmaster; ##################################### #入力者あてに入力完了をメールする if($auto ==1 && $in{"ajE-mail_"} ne "") { &mail_to_custmr; } }