# モジュール宣言/変数初期化
use strict;
my %cf;
#┌─────────────────────────────────
#│ Captcha Mail : captmail.cgi - 2014/12/14
#│ copyright (c) KentWeb
#│ http://www.kent-web.com/
#└─────────────────────────────────
$cf{version} = 'captmail v2.01';
#┌─────────────────────────────────
#│ [注意事項]
#│ 1. このプログラムはフリーソフトです。このプログラムを使用した
#│ いかなる損害に対して作者は一切の責任を負いません。
#│ 2. 送信フォームのHTMLページの作成に関しては、HTML文法の範疇
#│ となるため、サポート対象外となります。
#│ 3. 設置に関する質問はサポート掲示板にお願いいたします。
#│ 直接メールによる質問はお受けいたしておりません。
#└─────────────────────────────────
#
# [ 送信フォーム (HTML) の記述例 ]
#
# ・タグの記述例 (1)
# おなまえ
# → このフォームに「山田太郎」と入力して送信すると、
# 「name} = 山田太郎」という形式で受信します
#
# ・タグの記述例 (2)
# お好きな色
# → このラジオボックスにチェックして送信すると、
# 「color} = 青」という形式で受信します
#
# ・タグの記述例 (3)
# E-mail
# → name値に「email」という文字を使うとこれはメールアドレス
# と認識し、アドレスの書式を簡易チェックします
# → (○) abc@xxx.co.jp
# → (×) abc.xxx.co.jp → 入力エラーとなります
#
# ・タグの記述例 (4)
# E-mail
# → name値の先頭に「アンダーバー 」を付けると、その入力値は
# 「入力必須」となります。
# 上記の例では、「メールアドレスは入力必須」となります。
#
# ・name値への「全角文字」の使用は可能です
# (例)
# → 上記のラジオボックスにチェックを入れて送信すると、
# 「年齢} = 20歳代」という書式で受け取ることができます。
#
# ・name値を「name」とするとこれを「送信者名」と認識して送信元の
# メールアドレスを「送信者 <メールアドレス>」というフォーマットに
# 自動変換します。
# (フォーム記述例)
# (送信元アドレス) 太郎
#
# ・制御タグ-2
# → 2つの入力内容が同一かをチェックする
# → name値を「match」、value値を「項目1 + 半角スペース + 項目2」
# (例)
#
# ・制御タグ-3
# → name値の並び順を指定する(半角スペースで複数指定)
# → 入力エラー画面及びメール本文の並びを指定します
# (例)
#
# ・制御タグ-3
# → name値の並び順を指定する(半角スペースで複数指定)
# → 入力エラー画面及びメール本文の並びを指定します
# (例)
#===========================================================
# ▼基本設定
#===========================================================
# このプログラムの文字コード (utf8 or sjis)
# utf8 : UTF-8
# sjis : Shift-JIS
$cf{kcode} = 'sjis';
# 送信先メールアドレス
$cf{mailto} = '';
# sendmailのパス【サーバパス】
# → プロバイダの指定を確認のこと
$cf{sendmail} = '/usr/sbin/sendmail';
# sendmailへの-fコマンド(プロバイダの仕様確認)
# 0=no 1=yes
$cf{send_fcmd} = 0;
# 文字コード自動判別(0=no 1=yes)
# → フォームの文字コード判別を行う場合
# → フォームがShift_JISの場合は「0」で概ねOK
$cf{conv_code} = 0;
# 文字コード変換モジュール
# 1 : Jcode
# 2 : Unicode::Japanese
$cf{conv_pm} = 2;
# フォームのname値の置き換えをする場合
# → 英字のname値を日本語に自動的に置き換えます。
# 例: 「email = xx@xx.xx」→「メールアドレス = xx@xx.xx」
$cf{replace} = {
'name' => 'お名前',
'email' => 'メールアドレス',
};
# base64変換方式
# 1 : base64.pl(ライブラリ方式)
# 2 : MIME::Base64(モジュール方式)
$cf{b64_type} = 2;
# 最大受信サイズ(Byte)
# → 例 : 102400Bytes = 100KB
$cf{maxdata} = 102400;
# 送信者へのメール返信
# 0=no 1=yes
$cf{auto_res} = 1;
# メールタイトル
$cf{subject} = 'お問い合わせフォーム';
# 返信向けメールタイトル
$cf{sub_reply} = 'お問い合わせありがとうございます';
# 本体プログラム【URLパス】
$cf{mail_cgi} = './captmail.cgi';
# ログファイル【サーバパス】
$cf{logfile} = './data/log.cgi';
# テンプレートディレクトリ【サーバパス】
$cf{tmpldir} = './tmpl';
# 一時ディレクトリ【サーバパス】
$cf{tmpdir} = './data/tmp';
# 送信後の形態
# 0 : 完了メッセージを出す.
# 1 : 戻り先 ($back) へ自動ジャンプさせる.
$cf{reload} = 0;
# 送信後の戻り先【URLパス】
# → http://から記述する
$cf{back} = 'http://www.example.com/';
# フォームのname値の正当性をチェックする
# → 半角文字は英数字、アンダーバー、ハイフンはOK。全角は全てOK
# 0=no 1=yes
$cf{check_key} = 1;
# 同一IPアドレスからの連続送信制御
# → 許可する間隔を秒数で指定(0にするとこの機能は無効)
$cf{block_post} = 60;
# 送信は method=POST 限定 (セキュリティ対策)
# 0=no 1=yes
$cf{postonly} = 1;
# ホスト名取得方法
# 0 : gethostbyaddr関数を使わない
# 1 : gethostbyaddr関数を使う
$cf{gethostbyaddr} = 0;
# アクセス制限(複数あれば半角スペースで区切る、アスタリスク可)
# → 拒否ホスト名又はIPアドレスの記述例
# (前方一致は先頭に ^ をつける)【例】^210.12.345.*
# (後方一致は末尾に $ をつける)【例】*.anonymizer.com$
$cf{denyhost} = '';
# 禁止ワード
# → 投稿時禁止するワードをコンマで区切る
$cf{no_wd} = '';
# -------------------------------------------------------------- #
# [ 以下は「画像認証機能」機能(スパム対策)を使用する場合の設定 ]
#
# 画像認証機能の使用
# 1 : ライブラリ版(pngren.pl)
# 2 : モジュール版(GD::SecurityImage + Image::Magick)→ Image::Magick必須
$cf{use_captcha} = 1;
# 認証用画像生成ファイル【URLパス】
$cf{captcha_cgi} = './captcha.cgi';
# 画像認証プログラム【サーバパス】
$cf{captcha_pl} = './lib/captcha.pl';
$cf{captsec_pl} = './lib/captsec.pl';
$cf{pngren_pl} = './lib/pngren.pl';
# 画像認証機能用暗号化キー(暗号化/復号化をするためのキー)
# → 適当に変更してください。
$cf{captcha_key} = 'captcha_mailer';
# 投稿キー許容時間(分単位)
# → 投稿フォーム表示後、送信ボタンが押されるまでの可能時間。
$cf{cap_time} = 30;
# 投稿キーの文字数
# ライブラリ版 : 4〜8文字で設定
# モジュール版 : 6〜8文字で設定
$cf{cap_len} = 6;
# 画像/フォント格納ディレクトリ【サーバパス】
$cf{bin_dir} = './lib/bin';
# [ライブラリ版] 画像ファイル [ ファイル名のみ ]
$cf{si_png} = "casual.png";
# [モジュール版] 画像フォント [ ファイル名のみ ]
$cf{font_ttl} = "tempest.ttf";
#===========================================================
# ▲設定完了
#===========================================================
# for content-type charset
$cf{charset} = $cf{kcode} eq 'utf8' ? 'utf-8' : 'shift_jis';
# 設定値を返す
sub init {
return %cf;
}
1;