Web-UP CGIを駆使してWebサイトの運営効果を思いっきり上げる!

ホーム > CGI配布コーナー > Hi-Mail-MC お問い合わせ


Hi-Mail-MC


・Hi-Mail-MC とは?
・Hi-Mail-MC の特徴
・Hi-Mail-MC 設置法



Hi-Mail-MC とは?


Hi-Mail-MC(Multi Conf) は、Hi-Mail を複数の設定ファイル(複数のフォームページ)から利用できるようにしたものです。
サイト内に複数のフォームページを設置した場合でも、それぞれのフォームページから単一のメール配信エンジン(hi-mail-mc.cgi)を
利用するので、設置・運用・管理がとても楽になりました。

下の2つのサンプルは単一の hi-mail-mc.cgi を複数の設定ファイルで動作させています。
サンプルフォーム(A):新しいウィンドウが開きます
サンプルフォーム(B):新しいウィンドウが開きます

Hi-Mail-MC はシェアウェア(4,200円)のCGIメールフォームスクリプトです。
(Perl:バージョン5.004以上、Sendmail必須)

[ 更新履歴 ]
・2003/09/10 v1.00 公開
・2003/11/13 v1.01 @other_telの判定条件を修正(hi-mail-mc.cgi)
・2004/01/23 v1.02 CSVファイルとメールに記載しない項目を設定したときの不具合を改善(hi-mail-mc.cgi)
通し番号がCSVファイルに記載されない不具合を改善(hi-mail-mc.cgi)
$baseurl以外からの不正投稿を禁止しするかどうかの設定を追加(base_conf.cgi)
・2004/06/18 v1.03 初回設置時・不正利用検出時のメール送信ロジックを削除
・2004/09/14 v1.04 CSVファイルにフォームIDが記録される不具合を改善(hi-mail-mc.cgi)
・2005/04/19 v1.05 メールに記載しない項目を設定したときにCSVにも記載されなくなる不具合を修正(hi-mail-mc.cgi)
・2005/07/06 v1.06 HTMLの表示文字コードをShift_JISにしたときに正常に表示されない不具合を修正(hi-mail-mc.cgi)




Hi-Mail-MC の特徴


  • 単一のメール配信エンジン(hi-mail-mc.cgi)を複数の設定ファイルから利用できます。設定ファイルの上限数は無制限です。
  • 送信者に自動返信をします(これは当然ですね・・・(^^; )
  • 管理者と送信者それぞれにメール送信するかどうかを別々に設定できます。
  • HTMLの表示文字コードをEUCとShift-JISから選択できます。
  • データ入力後に確認画面を表示するかしないかを設定できます。
  • メールフォームのname値には英語・日本語の両方が使えます(例:<input type=text name="趣味">など)。
  • 入力必須項目をいくつでも設定できます。
  • 入力内容が同一でないとエラーとする項目をいくつでも設定できます。
  • 半角数字のみ入力許可とする項目、半角英数字のみ入力許可とする項目をいくつでも設定できます。
  • 7桁郵便番号(ハイフン付き)の書式チェックをする項目をいくつでも設定できます。
  • カタカナと空白のみを入力許可とする項目をいくつでも設定できます。
  • 加入電話番号(ハイフン付き)の書式チェックをする項目をいくつでも設定できます。
  • 携帯電話番号(ハイフン付き)の書式チェックをする項目をいくつでも設定できます。
  • その他の電話番号(ハイフン付き)の書式チェックをする項目をいくつでも設定できます。
  • 日付の書式チェックをする項目をいくつでも設定できます。
  • 日付の書式チェックをする項目に存在しない日付が入力された場合エラーとなります(うるう年にも対応)。
  • 入力禁止とする項目をいくつでも設定できますので、フリーメールアドレスからの送信などを事前に防止できます。
  • メールアドレス・ホームページアドレスを正規表現を使って厳密に書式チェックします。これにより、せっかくメールを送ってくれた送信者の方が運悪くメールアドレスを間違って記入してしまい連絡が取れなくなるというトラブルを大幅に減らすことができます。
  • 入力文字数を制限する項目をいくつでも設定できます。
  • 送信者名に任意の敬称(例:様など)を付けることができます。これにより、管理者が送信者に返信するときに宛先が自動的に「○○様」となります。
  • 送信者と管理者それぞれに別々の件名・文面のメールを送信することができます。
  • 管理者にメール送信するときに「CC」や「BCC」で複数のアドレスに同時に送信することができます。
  • 特定の条件(例:「ご用件」が「予約」だった場合など)を設定しその条件を満たしたときに、送信者と管理者それぞれに通常とは別の件名・文面のメールを送信することができます。
  • メールフォ-ムから送信されたときに自動で「通し番号」を発行するすることができます。
  • 「通し番号」には任意の名称(例:ご予約番号やお申し込みNoなど)を付けることができます。
  • 「通し番号」には任意の頭文字(例:問い合わせ番号なら「Q」など)を付けることができます。
  • 「通し番号」は任意の桁数に設定できます。
  • 特定の条件を設定しその条件を満たしたときだけ、「通し番号」を発行するように設定できます。
  • 件名にも「通し番号」を差し込みできます。これにより、返信をするとき簡単に「Re:お問い合わせ番号Q102105へのご返答です」などとすることができるので、毎回件名を記入する必要がありません 返信のメールをもらった送信者側もわかりやすくなります。
  • 件名にもフォームからの入力データを個別に差し込めます。
  • メールの文面内には通常の送信内容の他に、メールフォ-ムから入力されたデータを自由に差し込むことができるので、ありきたりの文面ではなく日常会話に近い自然な文章を作成して自動返信することができます もちろん、送信者宛・管理者宛に別々に作成することができます。
  • 連結された通常の送信内容をメール文面に全く挿入しないようにすることもできます。
  • チェックボックスなどの複数選択可能な項目の入力データをひとつにまとめるように設定できます。これによりCSVファイル内でフィールド(列)がずれてしまうことがありません。
  • チェックボックスやラジオボタン、セレクトメニューなどは何も選択されないとname値のデータがCGIに渡されずに、結果としてCSVファイル内のフィールド(列)がずれてしまいますが、同一name値のhiddenタイプ項目を設定することにより、それを防ぎます。
  • メールとCSVファイルに記載しない項目をいくつでも設定できます。
  • プレビュー画面に表示しない項目をいくつでも設定できます。
  • プレビュー画面・送信後画面・エラー画面にフォームからの入力項目を差し込むことができます。
  • 送信されたデータをCSVファイルに保存します。
  • CSVファイルには送信されたデータの他、送信者の利用ホスト・利用ブラウザ・送信日時の情報が自動的に記録されます。
  • CSVファイルの記録ログを蓄積件数やデータ量を指定して自動ローテーションを行うのでサーバー容量の心配がありません。もちろんローテーションをしないようにも設定できます。
  • CSVファイルの破損を防ぐファイルロック機構。
  • 任意の条件に合致した場合のみ、任意の項目を通常のCSVファイルとは別のファイルに保存することが出来ます。これにより後から蓄積したデータを振り分け・抽出するといった業務処理を自動化します。
  • 半角カタカナが入力された場合でも自動的に全角カタカナに変換するので文字化けの心配がありません。
  • 長文の入力が予想されるメールフォ-ム項目(例:ご感想など)を、任意の文字数で自動改行するように設定できるので、メールが読みやすくなります。
  • メールの件名をBase64エンコードして文字化けを防ぎます。
  • メールフォーム画面・送信後画面・エラー画面・プレビュー画面のHTMLを自由に編集できます もちろん外部スタイルシートの取り込みもOK!。
  • メール送信後に任意のページへ任意の秒数で自動的にジャンプさせる・させないを設定できます。
  • 任意の時間内で、同一のメールアドレス・ホスト・ブラウザを利用している人からの二重送信を防ぎます。これにより二重注文等のトラブルを未然に防ぎます。
  • 指定したホストからのアクセスを拒否することができます。
  • 指定したサイト内からの入力でないとエラーとすることができます。
  • 送信者の利用ホスト・利用ブラウザ・送信時刻を、管理者と送信者それぞれのメール文面に差し込みする・しないを設定できます。

▲このページの上に戻る▲



Hi-Mail-MC をゲット!


Hi-Mail-MC は、必ずスクリプト利用規約に同意いただいた上で、設置・ご利用下さい。
Hi-Mail-MC をダウンロードされた時点で無条件にスクリプト利用規約に同意したものとさせていただきますので、ご了承下さい。

スクリプト利用規約に同意していだけますか?
はい、スクリプト利用規約に同意します
(試用版は初回設置後14日間までご試用いただけます)

▲このページの上に戻る▲



Hi-Mail-MC 設置法


CGIの設置が初めてという方はCGI初心者のためのCGI設置講座もご活用下さい。
このページの設置法を読んでみて、どうしてもご自分で設置できないという方は有償サービスのCGI設置代行をご検討下さい。

Hi-Mail-MC をダウンロードしたら、解凍ソフトで解凍します。
ファイルを解凍すると「hi-mail-mc」フォルダ内に以下のファイルが展開されます。

hi-mail-mc.cgi
base_conf.cgi
conf.cgi
jcode.pl
mimew.pl
dataフォルダ
lockフォルダ
mime_pls202フォルダ

lockフォルダの中にmail.lokというファイルが入っていますが、これはファイルロック用のファイルですのでこのままアップロードして下さい。
dataフォルダの中にもいくつかのファイルが入っていますがこれらも後ほどそのまま全てアップロードします。
jcode.pl歌代 和正さんのPerlライブラリで再配布が許可されています。歌代さんに心から感謝いたします!
mimew.pl生田 昇さんのPerlライブラリで再配布が許可されています。生田さんにも心から感謝いたします〜!
mime_pls202フォルダの中にはmimew.plのドキュメント一覧が含まれています。アップロードの必要はありません。

まずエディタhi-mail-mc.cgi を開き、1行目のPerlのパスをプロバイダ指定のものに変更します。hi-mail-mc.cgi の変更点はこれだけで終りです。
hi-mail-mc.cgibase_conf.cgiconf.cgi は文字コードをEUCで記述していますのでWindows標準のメモ帳などでは編集できません)

Hi-Mail-MC は複数のフォームから利用できますが、全体の基本設定を base_conf.cgi、それぞれのフォームの詳細設定を conf.cgi で行います。
なお、詳細設定をするファイル名は conf.cgi である必要はありません。必要に応じてconf.cgi をコピーし、任意のファイル名としてください。
複数フォームを利用する際には、通し番号格納ファイルやCSVファイルなどが他の設定と重複しないよう注意して下さい。


base_conf.cgi の設定

#------------#
  全体設定
#------------#


# ここでの設定が全フォームに反映されます


# 事業者登録ID(登録事業者様のみ)
$reg_id = '';


# スクリプトの名称(とくに変更する必要はありません)
$sc_name = 'hi-mail-mc.cgi';


# 設置サイトのトップページのURL(ここに記入したサイト以外からの不正投稿を禁止します)
$baseurl = '';


# sendmail部分のパスを記入
$sendmail = '/usr/sbin/sendmail';


# 時差調整 海外サーバー利用時など時刻がずれるようなら調整して下さい 時間単位です
$time_dif = -9;


# デフォルトのエラータイトル・HTML
# 詳細設定ファイルが読み込まれる前になんらかのエラー(CGIへのGETリクエストなど)が発生した場合に適用されます
$error_title = "エラー";

$error_body = <<EOF;
<br><br>
<div align=center>
<font color=#cc0000>(゚∇゚|||)  <font size=+1><b>エラー</b></font>  (゚∇゚|||)</font>
<br><br>
<HR width=50%>
<font color=red>
##error##
</font>
<HR width=50%>
<br><br>
<A href="JavaScript:history.back()">前のページに戻る</A>
</div>
<br><br>

EOF


# デフォルトの設定ファイル
# 単一の設定ファイルしか利用しない場合やフォーム内において
# <input type="hidden" name="conf_file" value="フォームID"> の項目を省略した場合は
# デフォルトの設定ファイルとしてここで設定したファイルが読み込まれます
$dft_conf = './conf.cgi';


# 単一の設定ファイルしか利用しないなら0,複数の設定ファイルを利用するなら1
# 複数の設定ファイルを利用する場合は下の $conf_file の設定を行って下さい
$multi_conf = 1;


# 複数の設定ファイルを利用する場合、フォームIDと読み込む設定ファイル
# フォームIDには半角数字しか使えません. 半角数字を増やすことによりいくつでも設定できます
# フォーム内において <input type="hidden" name="conf_file" value="フォームID"> とします
# <input type="hidden" name="conf_file" value="フォームID"> の位置は<form>〜</form>の中のどこでもOKです
# フォームHTMLのvalue="フォームID" と 「base_conf.cgi」の$conf_file[フォームID] はそれぞれ対応しています
# 下の例でいえば、フォーム内において <input type="hidden" name="conf_file" value="1">とした場合は、
# 設定ファイルとして「mousikomi.cgi」が読み込まれます。
# フォーム内において <input type="hidden" name="conf_file" value="フォームID"> の項目を省略した場合は
# デフォルトとして上の$dft_confで設定したファイルが読み込まれます
$conf_file[0] = './toiawase.cgi';
#$conf_file[1] = './mousikomi.cgi';   # $conf_file[1]の設定を有効にする場合は行頭の「#」を削除して下さい(以下同様)
#$conf_file[2] = './bosyuu.cgi';
#$conf_file[3] = './Campaign.cgi';




conf.cgi の設定

※解説の都合上、「conf.cgi」というファイル名になっていますが、実際には上の$dft_conf(デフォルトのファイル名称)で設定したファイル名になります。
※複数の設定ファイルを利用する際には、「conf.cgi」をコピーして任意のファイル名とし、上の$conf_file[フォームID]で設定して下さい。

# ロックディレクトリ名(とくに変更する必要はありません)
$lock_dir = './lock/';


# ロックファイル名(とくに変更する必要はありません)
$lock_file = 'mail.lok';


# 設置サイトの名称(送信者に送られるメールの送信者名になります)
$admin_name = 'Web-UP';


# 送信を拒否するホスト名('ホスト名','ホスト名'…の形で)
# 記入例 @deny_host = ('waruihito.ne.jp','ikenaihito.ne.jp'); など
@deny_host = ('');


# 管理者にメール送信をするなら1、しないなら0
$send_admin = 1;


# 送信者にメール送信をするなら1、しないなら0
$send_costm = 1;


# 管理者のメールアドレスを記入します
# 複数ある場合は'aaa@bbb.cc; ddd@eee.ff'のように「;」で区切ります
$to = 'info@web-up.cside.biz';


# 管理者宛てメール送信時にCCで同時に送りたいアドレスがある場合に記入します
# 複数ある場合は'aaa@bbb.cc; ddd@eee.ff'のように「;」で区切ります
$cc = '';


# 管理者宛てメール送信時にBCCで同時に送りたいアドレスがある場合に記入します
# 複数ある場合は'aaa@bbb.cc; ddd@eee.ff'のように「;」で区切ります
$bcc = '';


# 送信前にプレビュー画面を表示するなら1、しないなら0
$preview = '1';




#------------------------#
     件名に関する設定
#------------------------#


# 送信者宛てメール件名(1)
# 件名に ###番号### を含めると通し番号を挿入できます その場合下にある通し番号の設定も行って下さい
# ##フォームのname値##とするとフォームから入力された内容を個別に差し込みます
$sub_costm1 = '';
記入例:$sub_costm1 = '###番号### ご予約有難う御座いました';


# 送信者宛てメール件名(2)
# 特定の条件が揃ったときの送信者宛てのメール件名
# 件名に ###番号### を含めると通し番号を挿入できます その場合下にある通し番号の設定も行って下さい
# ##フォームのname値##とするとフォームから入力された内容を個別に差し込みます
# 下の@sub_costm_condを指定しないと無効となります
$sub_costm2 = '';
記入例:$sub_costm2 = 'お問い合わせありがとうございました';


# 送信者宛てメール件名を変更する条件
# ('name値','value値') の形で記述します 1つの条件まで指定できます
# この設定をした場合、このファイルの下の方にある送信者宛のメール文面 $send_mes_costm2 も設定できます
@sub_costm_cond = ('','');
記入例:@sub_costm_cond = ('ご用件','お問い合わせ');


# 管理者宛てメール件名(1)
# 件名に ###番号### を含めると通し番号を挿入できます その場合下にある通し番号の設定も行って下さい
# ##フォームのname値##とするとフォームから入力された内容を個別に差し込みます
$sub_admin1 = '';
記入例:$sub_admin1 = '###番号### お申し込みありがとうございました';


# 管理者宛てメール件名(2)
# 特定の条件が揃ったときの管理者宛てのメール件名
# 件名に ###番号### を含めると通し番号を挿入できます その場合下にある通し番号の設定も行って下さい
# ##フォームのname値##とするとフォームから入力された内容を個別に差し込みます
# 下の@sub_admin_condを指定しないと無効となります
$sub_admin2 = '';


# 管理者宛てメール件名を変更する条件
# ('name値','value値') の形で記述します 1つの条件まで指定できます
# この設定をした場合、このファイルの下の方にある管理者宛のメール文面 $send_mes_admin2 も設定できます
@sub_admin_cond = ('','');




#--------------------------#
    送信データに関する設定
#--------------------------#

# メール送信時に送信項目の行頭に付ける記号(CSVファイルの分割キーと同じものには出来ません)
# メール上で■項目名 などのようになります
$head ='■';


# メール送信時にname値とvalue値の間に入れる記号(CSVファイルの分割キーと同じものには出来ません)
# メール上で■項目名: などのようになります
$space =':';


# 送信者名として認識する項目('name値'の形で)
$namae = '';
記入例:$namae = 'お名前';


# 送信者名の後ろに付ける敬称
# メール上で■お名前: ○○ 様などのようになります
$keisyou = ' 様';


# 入力必須とする項目('name値','name値'…の形で)
@hisssu = ('','','');
記入例:@hisssu = ('お名前','メール','メール(再入力)');


# 送信者のメールアドレスとする項目(1項目のみ)
$mail_to = ('');
記入例:$mail_to = 'メール';


# メールアドレスとして書式チェックする項目('name値','name値'…の形で)
@mail_chek = ('','');
記入例:@mail_chek = ('メール','メール(再入力)');


# 同一の入力内容でないとエラーとする項目('name値'=>'name値'の形で 複数ある場合は ''=>'',''=>''…のように区切る)
%sames = (''=>'');
記入例:%sames = ('メール'=>'メール(再入力)');


# メールとCSVファイルに記載しない項目('name値','name値'…の形で)
@no_add = ('');
記入例:@no_add = ('メール(再入力)');


# プレビュー画面で表示しない項目('name値','name値'…の形で)
@no_pre = ('');
記入例:@no_pre = ('メール(再入力)');


# URLとして書式チェックする項目('name値','name値'…の形で)
@url_chek = ('');
記入例:@url_chek = ('ホームページアドレス');


# 半角数字のみ入力許可とする項目('name値','name値'…の形で)
@hankakusuuji = ('');
記入例:@hankakusuuji = ('郵便番号');


# 半角英数字のみ入力許可とする項目('name値','name値'…の形で)
@hankakueisuu = ('');
記入例:@hankakueisuu = ('ニックネーム');


# 郵便番号として書式チェックする項目('name値','name値'…の形で)
# xxx-xxxx(数字3桁 ハイフン 数字4桁)という書式でないとエラーとしたい場合に設定します
@zip = ('');
@zip = ('郵便番号');


# 入力データ量に制限を設ける項目('name値'=>'半角文字数'の形で 複数ある場合は ''=>'',''=>''…のように区切る)
%data_limits = (''=>'');
記入例:%data_limits = ('コメント'=>'400');


# メール送信時に自動的に改行する項目とその文字数
#(文字数は半角換算、70程度を推奨'name値'=>'半角文字数'の形で 複数ある場合は ''=>'',''=>''…のように区切る))
%auto_wrap = (''=>'');
記入例:%auto_wrap = ('ご感想'=>'70');


# 禁止ワードを設ける項目('name値'=>'禁止ワード:禁止ワード'の形で 複数ある場合は ''=>'',''=>''…のように区切る)
%bad_word = (''=>'');
記入例:%bad_word = ('メール'=>'furee_no_mail.com');


# 禁止ワード分割キー(上の %bad_word で設定した禁止ワードを分割する文字)
$bad_key = ':';


# 複数選択可能な項目で同じname値で入力データを1つにまとめたい項目('name値','name値'…の形で)
# 選択された項目をまとめてCSVファイルの列(フィールド)がずれないようにします
# ここで設定した項目を入力必須にすることは出来ません
# [重要] この機能を使う場合は、送信者にデータを入力してもらうメールフォーム内において、@check_boxで設定した項目の
# <input type="checkbox" name="まとめたい項目" value="○○○"> の直下に、必ず同じname値のhiddenタイプ
# <input type="hidden" name="まとめたい項目" value=""> を記述して下さい hiddenタイプのvalue値は空白でけっこうです
# この一文によってなにも選択されなかった場合も未選択としてname値を保持します

# checkboxタイプ以外に、selectタイプでmultipleとして複数選択させる場合や
# radioタイプでなにも選択されなかった場合も未選択としてname値を保持したい場合も同様にして下さい
@check_box = ('','','');
記入例:@check_box = ('取りたい資格','連絡方法','所持資格','受験する資格');


# 上記の複数選択可能な項目のvalue値を連結するキー(CSVファイルの分割キーと同じものには出来ません)
$join_key = '';
記入例:$join_key = ' ・ ';
# 好きな食べ物: りんご ・ みかん ・ バナナ などのようになります


#-----------------------------------------#
      送信ボタン2度押し処理に関する設定
#-----------------------------------------#

# 送信ボタン2度押し検出用一時ファイル(とくに変更する必要はありません)
$temp_file = './data/temp.dat';


# 送信ボタン2度押しと判定しない秒数
# 同一送信者から複数回送信ボタンを押されたときにこの秒数以上経過していれば送信ボタン2度押しと判定しません
$wait = 5;


# 送信ボタンが2度押しされたときにエラー画面にするなら0、送信後画面にするなら1
# 送信ボタンが2度押しされても最初の1回目は通常に処理されますので送信後画面にしておいたほうが送信者の気分を害さなくてすむと思います
$dblsub_syori = 1;


# 送信ボタンが2度押しされたときのメッセージ
$dblsub_mes = '';
記入例:$dblsub_mes = '<br><div align=center style="color:red">(送信ボタンが2回押されたようですが、入力していただいた内容は既に送信されていますのでメールをご確認下さい)</div><br>';



#----------------------------#
     通し番号に関する設定
#----------------------------#


# 通し番号 設定するとメールとCSVファイルに記載されます(付ける=1 付けない=0)
$num_add = 1;


# 特定の条件が揃ったときだけ通し番号を発行する場合
# 例:name'問い合わせ内容'がvalue'申し込み'だったときだけ'申し込み番号'を発行するなど
# 'name値'=>'value値'の形で記述します 条件が複数ある場合は ''=>'',''=>''…のように区切る
# 無条件に通し番号を発行する場合は空白にして下さい
# @check_box = ('');で入力内容をまとめる項目は設定できません
%num_cond = (''=>'',''=>'');
記入例:%num_cond = ('ご用件'=>'予約',''=>'');


# 上の条件を複数設定したときにand条件とするなら1、or条件とするなら0
# and条件の場合は全ての条件を満たしたとき、or条件の場合はどれか一つでも条件を満たしたときに通し番号を発行します
$num_andor = '';


# 通し番号名称
$num_name = '';
記入例:$num_name = 'お問い合わせ番号';


# 通し番号桁数
$num_beams = '';
記入例:$num_beams = 5; #(5桁)


# 通し番号の先頭に付ける文字
$num_head = 'Q';
記入例:$num_head = 'Q';


# 通し番号格納ファイル(とくに変更する必要はありません)
$num_file = './data/no.dat';




#-------------------------------#
     CSVファイルに関する設定
#-------------------------------#


# 全送信項目格納CSVファイル
# セキュリティ上、データ漏洩が心配な場合は拡張子を .cgi とするかファイル名を変更して下さい
# ここでのファイル名を変更した場合は実際のファイル名も変更して下さい
# サーバー上に記録ログを残す必要が無い場合は 行頭に「#」を挿入し #$csv_file = './data/data.csv'; とすると
# CSVファイルに記録しなくなります
$csv_file = './data/data.csv';


# 指定項目格納CSVファイル
# 下の %spc_cond で指定した条件を満たしたときに @spec_val で指定した要素のみを抽出して記録します
# セキュリティ上、データ漏洩が心配な場合は拡張子を .cgi とするかファイル名を変更して下さい
# ここでのファイル名を変更した場合は実際のファイル名も変更して下さい
# サーバー上に記録ログを残す必要が無い場合は 行頭に「#」を挿入し #$spc_file = './data/spc.csv'; とすると
# CSVファイルに記録しなくなります
$spc_file = './data/spc.csv';


# 指定項目格納CSVファイルに記録する条件
# 'name値'=>'value値'の形で記述します 条件が複数ある場合は ''=>'',''=>''…のように区切る
# 無条件に指定項目格納CSVに記録する場合は空白にして下さい
%spc_cond = ('送信内容'=>'お問い合わせ');


# 上の条件を複数設定したときにand条件とするなら1、or条件とするなら0
# and条件の場合は全ての条件を満たしたとき、or条件の場合はどれか一つでも条件を満たしたときに通し番号を発行します
$spc_andor = 1;


# 指定項目格納CSVファイルに記録する項目('name値','name値'…の形で)
# ここで指定した項目の順番通りにCSVファイルに記録されますが、入力を必須にしないとデータがずれますのでご注意下さい
# ###送信日時###,###ホスト###,###ブラウザ###,###番号###とすると、該当する情報が記録されます
# 例) 送信日時・お名前・メールアドレスのみを記録するのであれば
# @spec_val = ('###送信日時###','お名前','メールアドレス'); となります
@spc_val = ('###送信日時###','お名前','メール');


# CSVファイルの分割キー(タブ区切りにするときは半角で \t と記入します)
$split_key = ",";


# CSVファイルログのローテーション('Aタイプ'=>'B数量')
# Aタイプ (0か空白=ローテーションなし、1=件数指定、2=データ量指定)
# B数量 (件数指定なら送信件数、データ量指定ならキロバイト 1メガバイトなら1024キロバイト)
# 数量を件数で指定した際には送信される内容によりますが1万件でおよそ1〜2メガバイト程度のデータ量となります
@rtn = (0,0);




#--------------------------------#
     メールの文面に関する設定
#--------------------------------#


# 送信者に送信するメールの文面(1)
# <<'EOF';の次の行からEOFの前の行の間で自由に編集して下さい
# ##フォームのname値##とするとフォームから入力された内容を個別に差し込みます
# ##send_data##の部分にはフォームから入力された内容が差し込まれます
# ###送信日時###,###ホスト###,###ブラウザ###,###番号###とすると、該当する情報が差し込まれます

$send_mes_costm1 = <<'EOF';
##お名前## 様

この度はお問い合わせを頂きまして誠にありがとうございます。
ご送信いただいた内容は下記の通りですのでご確認下さい。

###送信日時###
##send_data##


おり返しご連絡いたしますのでしばらくお待ち下さい。
※万一このメールに覚えがない場合はお手数ですが
info@web-up.cside.biz までご連絡下さい。


/// [ Web-UP ] ////////////////////
Net-BP
Add:札幌市東区東苗穂1条2丁目6番
Tel/Fax: 011-784-0937
URL:http://web-up.cside.biz/
Mail:info@web-up.cside.biz
//////////////////////////////////

EOF



# 送信者に送信するメールの文面(2)
# 特定の条件が揃ったときだけ送信者宛てのメールの文面を変更する場合
# この設定をした場合、このファイルの上の方にある @sub_costm_cond も設定する必要があります
# <<'EOF';の次の行からEOFの前の行の間で自由に編集して下さい
# ##フォームのname値##とするとフォームから入力された内容を個別に差し込みます
# ##send_data##の部分にはフォームから入力された内容が差し込まれます
# ###送信日時###,###ホスト###,###ブラウザ###,###番号###とすると、該当する情報が差し込まれます

$send_mes_costm2 = <<'EOF';
##お名前## クン!

ひやかしならやめてっ!
(≧ヘ≦ )プイッ

EOF



# 管理者に送信するメールの文面(1)
# <<'EOF';の次の行からEOFの前の行の間で自由に編集して下さい
# ##フォームのname値##とするとフォームから入力された内容を個別に差し込みます
# ##send_data##の部分にはフォームから入力された内容が差し込まれます
# ###送信日時###,###ホスト###,###ブラウザ###,###番号###とすると、該当する情報が差し込まれます

$send_mes_admin1 = <<'EOF';
##お名前## 様からお問い合わせがありました。

##send_data##

###送信日時###
###ホスト###
###ブラウザ###

EOF



# 管理者に送信するメールの文面(2)
# 特定の条件が揃ったときだけ送信者宛てのメールの文面を変更する場合
# この設定をした場合、このファイルの上の方にある @sub_admin_cond も設定する必要があります
# <<'EOF';の次の行からEOFの前の行の間で自由に編集して下さい
# ##フォームのname値##とするとフォームから入力された内容を個別に差し込みます
# ##send_data##の部分にはフォームから入力された内容が差し込まれます
# ###送信日時###,###ホスト###,###ブラウザ###,###番号###とすると、該当する情報が差し込まれます

$send_mes_admin2 = <<'EOF';
##お名前## 様からひやかしがありました。

##send_data##

###送信日時###
###ホスト###
###ブラウザ###

EOF




#------------------------#
    HTMLに関する設定
#------------------------#


# HTMLの表示文字コード(PCのみの使用なら0でOKです)
# EUC-JP ⇒ 0
# Shift-JIS ⇒ 1(i-modeなど)
$html_code = 1;


# bodyタグ
$body = '<body bgcolor="#FFFFFF" text="#000000" link="#000FF" vlink="#800080">';


# 外部スタイルシートを取り込む場合、パスとファイル名(hi-mail-mc.cgiからの相対パスかhttp://からの絶対パス)
$style = '';
記入例:$style = './style.css';


# 送信後画面のタイトル
$sendout_title = '送信完了しました';


# 送信後に表示するHTML
# <<EOF;の次の行からEOFの前の行の間で自由に編集して下さい
# <a href="$baseurl">トップページに戻る</a> はトップページに戻るためのリンクになります

$sendout_body = <<EOF;
<div align=center>
(^o^)丿  <font size=+1><b>お問い合わせいただきましてありがとうございました</b></font>  (^o^)丿
<br><br>
<HR width=50%>
<a href="$baseurl">トップページに戻る</a>
<HR width=50%>
</div><br><br>

EOF


# 送信後HTML表示後、自動的にジャンプさせるならその秒数(0にするとジャンプしません)
$jump_sec = 5;


# 送信後HTML表示後、自動的にジャンプさせるならそのURL(トップページなど)
$jump_url = 'http://あなたのホームページアドレス/';


# 送信後HTML表示後、自動的にジャンプさせるならそのメッセージ
# $jump_sec の部分には上の $jump_url で指定した秒数が表示されます
$jmes = "<div align=center><font color=blue>$jump_sec秒後にトップページへジャンプします</font></div><br>";


# エラー画面のタイトル
$error_title = 'エラー';


# エラー時に表示するHTML
# <<EOF;の次の行からEOFの前の行の間で自由に編集して下さい
# ##error## 部分にはエラー内容が差し込まれます
# <a href="$baseurl">トップページに戻る</a> はトップページに戻るためのリンクになります
# <a href=mailto:"$to">$to</a> は管理者にメールを送信するためのリンクになります

$error_body = <<EOF;
<div align=center>
<font color=#cc0000>(゚∇゚|||)  <font size=+1><b>エラー</b></font>  (゚∇゚|||)</font>
<br><br>
<HR width=50%>
<font color=red>
##error##
</font>
<HR width=50%>
<br>
うまく送信できない場合は<a href=mailto:"$to">$to</a>よりご連絡下さい
<br><br>
<A href="JavaScript:history.back()">前のページに戻る</A>
<br><br>
<a href="$baseurl">トップページに戻る</a>
</div><br><br>

EOF


# プレビュー画面のタイトル
$pre_title = '送信内容確認';


# プレビュー時に表示するHTML
# <<EOF;の次の行からEOFの前の行の間で自由に編集して下さい
# ##send_data##の部分にはフォームから入力された内容が差し込まれます
# プレビュー時にはフォームからの個別項目の差し込みはできません
# <form action =$sc_name method=POST> と <input type=hidden name=send_mes_go value=1> は位置変更・削除しないで下さい

$pre_body = <<EOF;
<div align=center>
<form action =$sc_namemethod=POST>
<input type=hidden name=send_mes_go value=1>
<table bgcolor=#DDDDCC cellpadding=1>
<tr><td align=center colspan=2>
下記の内容で送信してもよろしいですか?
</td></tr>
##send_data##
<tr><td align=center colspan=2>
<input type=submit value='送信'>&nbsp;&nbsp;
<input type=button value='戻る' onClick='history.back();'>
</td></tr></table>
</form>
</div>

EOF


# プレビュー画面のテーブル左側セル色
$left_col = '#FFFFEE';


# プレビュー画面のテーブル左側セルの左右揃え(left,center,right から選択、空白だとエラーになります)
$left_align = 'center';


# プレビュー画面のテーブル左側セルの上下揃え(top,middle,bottom から選択、空白だとエラーになります)
$left_valign = 'middle';


# プレビュー画面のテーブル右側セル色
$right_col = '#FFFFFF';


# プレビュー画面のテーブル右側セルの左右揃え(left,center,right から選択、空白だとエラーになります)
$right_align = 'left';


# プレビュー画面のテーブル右側セルの上下揃え(top,middle,bottom から選択、空白だとエラーになります)
$right_valign = 'middle';


いや〜 お疲れ様でした(笑) あとはファイルをアップロードしてパーミッションを設定するだけです。 とりあえず一服して少し休んでくださいね(^^;



一服が終わったら全ファイルを hi-mail ディレクトリごと、FTPソフトでアスキーモードでアップロードします。
その後、下の通りパーミッションを設定します。
FTPソフトは定番のSotaさん作FFFTP(新しいウィンドウが開きます)が使いやすくてオススメです。

<ディレクトリ構成例>
(かっこ内はパーミッション値)

/public_html/-─┼----index.html
                │
                │
                ┼--/cgi-bin[755]/--/hi-mail-mc[755]/---hi-mail-mc.cgi[755]
                                                         base_conf.cgi[644]
                                                              jcode.pl[644]
                                                              mimew.pl[644]

                                                              conf.cgi[644]

                                                                 /data[777]/---data.csv[666]
                                                                                spc.csv[666]
                                                                                 no.dat[666]
                                                                               temp.dat[666]
                                                                        index.html[変更なし]
                                                                         .htaccess[変更なし]

                                                                 /lock[777]/---mail.lok[666]

最初は上記のパーミッションに設定して、徐々に各ファイルを

777⇒707
755⇒705
666⇒606
644⇒604


などのようにきつくしていくといいと思います。
あとは、任意に設置したメールフォームに

<form action=設置パス/hi-mail-mc.cgi>

と記述すればOKです。
スクリプト動作の都合上、フォームのname値で[send_mes_go][conf_file]は使えませんが、あとはどんな名前のものを使っていただいてもかまいません。


▲このページの上に戻る▲



「Hi-Mail-MC」の推奨動作環境
- サーバOS
サーバOSはUNIXを前提としています。
- サーバWEBソフト (HTTPD)
HTTPDはApacheを前提としています。
- サーバメールソフト
メールソフトはSendmailを前提としています。
- サーバPerlソフト
Perlについては、Perl5を前提としています。
(CGIスクリプト開発環境)
当CGIスクリプトは以下の環境で開発しています。
OS : Windows2000
Perl : ActivePerl v5.6.1
HTTPD : Apache HTTP Server 1.3.24




▲このページの上に戻る▲

ホーム > CGI配布コーナー > Hi-Mail-MCお問い合わせ
[an error occurred while processing this directive]