FORM MAILER v0.54 設定ファイル編集の手引き

FORM MAILER v0.54 の設定ファイル編集のための解説をしています。

[目次]
(1)アップロードファイルを一時置いておくディレクトリ
(2)システム側で表示するページのbodyタグオプション
(3)入力確認画面
(3-a)確認画面のレイアウトファイル
(4)エラー画面
(4-a)エラー画面のレイアウトファイル
(5)空欄のフィールドと置き換える文字列
(6)各入力欄の制限・文字列処理
(7)完了画面
(7-a)送信画面のURL
(7-b)連続送信防止機能
(8)管理者に送られるフォーム内容メールの送信先/送信元アドレス
(8-a)メールのタイトル(件名)
(8-b)ファイル添付関係の設定
(8-c)フォーム内容メールのレイアウト
(8-d)項目の前に付加する文字列/項目と値の間のセパレータ
(8-e)行頭からセパレータまでの文字数
(8-f)管理者に送られるフォーム内容メールのレイアウト指定
(9)自動返信メール送信
(9-a)自動返信メールの送信元アドレス
(9-b)自動返信メールのタイトル(件名)
(9-c)自動返信メールのレイアウト
(9-d)項目の前に付加する文字列/項目と値の間のセパレータ
(9-e)行頭からセパレータまでの文字数
(9-f)自動返信メールのレイアウト指定
(10)フォームデータのファイル書き出し
(10-a)書き出すファイル名
(10-b)書き出すファイルの形式
(10-c)書き出すフィールドの並び順
(11)付加的に実行したいコード1
(12)付加的に実行したいコード2
(13)sendmailのパス

[変数名索引]
ALINK
ATTACH_EXT
ATTACH_FIELDNAME
ATTACH_SIZE_MAX
ATTACH_TSIZE_MAX
AUTO_REPLY
BACKGROUND
BGCOLOR
BLANK_STR
COND
CONFIRM_FLAG
CONFIRM_TMPL
DENY_DUPL_SEND
ENCODING
ERROR_FLAG
ERROR_TMPL
EVAL_COMMAND
EVAL_COMMAND2
FILE_OUTPUT
FORMAT
LINK
MAIL_FORMAT_TYPE
MARK
OFT
OUTPUT_FIELDS
OUTPUT_FILENAME
OUTPUT_SEPARATOR
REPLY_FORMAT
REPLY_MAIL_FORMAT_TYPE
REPLY_MARK
REPLY_OFT
REPLY_SENDFROM
REPLY_SEPR
REPLY_SUBJECT
SENDFROM
SENDMAIL
SENDTO
SEPR
SUBJECT
TEMP_DIR
TEXT
THANKS
THANKS_FLAG
VLINK

(1)アップロードファイルを一時置いておくディレクトリ
$TEMP_DIR = "ディレクトリ名";
※ここで指定したディレクトリは、あらかじめ作成してパーミッションを 777 に変更してください。
※CGIWrap を使用している場合はパーミッション変更の必要はありません。
※ファイルアップロードの機能を使わない場合は、この指定は無視されます。
▲目次へ ▲変数名索引へ
(2)システム側で表示するページのbodyタグオプション
$TEXT = "TEXTオプションの値";
$BGCOLOR = "BGCOLORオプションの値";
$VLINK = "VLINKオプションの値";
$ALINK = "ALINKオプションの値";
$BACKGROUND = "BACKGROUNDオプションの値";
※bodyタグオプションを指定します。
※「#rrggbb」または「red」「white」というように指定してください。
※指定方法を間違うとうまく機能しない場合があります。
▲目次へ ▲変数名索引へ
(3)入力確認画面
$CONFIRM_FLAG = [0|1|2];
1確認する(システムレイアウト使用)
2確認する(レイアウトファイルを(3-a)で指定する)
0省略する(直接送信)
※確認画面を出すかどうかを指定してください。
$CONFIRM_FLAG = 0; と指定した場合でも、フォーム中に name="CONFIRM_FORCED" という入力欄があり、値が0または空欄以外のときは、確認画面を表示します。逆に、$CONFIRM_FLAG = 1; または $CONFIRM_FLAG = 2; と指定した場合でも、フォーム中に name="SEND_FORCED" という入力欄があり、値が0または空欄以外のときは、確認画面を表示せずに直接送信します。

[HTML例]

1. 確認画面を省略する設定のときに、フォームの送信者に確認画面を出すか選ばせる
<input type=checkbox name=CONFIRM_FORCED value="1" checked>確認画面を出す
2. 確認画面を出す設定のときに、フォームの送信者に確認画面を出すか選ばせる
<input type=checkbox name=SEND_FORCED value="1" checked>確認画面を出さずに直接送信

▲目次へ ▲変数名索引へ
(3-a)確認画面のレイアウトファイル
$CONFIRM_TMPL = "[サーバ上のパス/] レイアウトファイル名";
※(3)で、$CONFIRM_FLAG = 2; と指定した場合は、ここでの指定が必須です。
※サーバに置いたレイアウトhtmlのファイル名を指定します。
※ファイル名だけを指定した場合は、f_mailer.cgiのある場所にあるとみなします。
▲目次へ ▲変数名索引へ
(4)エラー画面
$ERROR_FLAG = [0|1];
0システムレイアウト使用
1レイアウトファイルを(4-a)で指定する
※システムが用意したエラー画面を出すか、オリジナルレイアウトを使用するかを選択します。
▲目次へ ▲変数名索引へ
(4-a)エラー画面のレイアウトファイル
$ERROR_TMPL = "[サーバ上のパス/] レイアウトファイル名";
※(4)で、$ERROR_FLAG = 2; と指定した場合は、ここでの指定が必須です。
※サーバに置いたレイアウトhtmlのファイル名を指定します。
※ファイル名だけを指定した場合は、f_mailer.cgiのある場所にあるとみなします。
▲目次へ ▲変数名索引へ
(5)空欄のフィールドと置き換える文字列
$BLANK_STR = "空欄のフィールドと置き換える文字列";
※フォームの入力欄が空欄(空文字列)であった場合に埋めておく文字列を指定します。
※空欄のままにする場合には、この欄になにも指定しません。
▲目次へ ▲変数名索引へ
(6)各入力欄の制限・文字列処理
@COND = (
  [ 'フィールド名1', { 制限項目=>指定子, 制限項目=>指定子, … } ],
  [ 'フィールド名2', { 制限項目=>指定子, 制限項目=>指定子, … } ],
  …
);
制限項目 指定子 説    明
alt 別名 項目名の別名(エラー表示に使用)
trim 1 半角スペース、タブおよび改行(\r\n)の除去
trim2 1 全角および半角スペース、タブ、改行(\r\n)の除去
required 1 入力必須チェック(未入力を拒否)
z2h 1 全角英数字の半角変換
d_only 1 数値チェック(半角数字以外の値を拒否)
h2z 1 半角英数字の全角変換
h2z_kana 1 半角カタカナの全角変換
deny_rel 1 機種依存文字チェック(機種依存文字を含む値を拒否)
len_min バイト数 文字列長の下限(ここで指定した長さに満たない文字列を拒否)
num_min 個数 選択個数の下限(checkboxなどでの選択数が指定した数に満たない場合を拒否)
min 下限値 数値の下限(ここで指定した数値を下回る値を拒否)
len_max バイト数 文字列長の上限(ここで指定した長さを超える文字列を拒否)
num_max 個数 選択個数の上限(checkboxなどでの選択数が指定した数を超える場合を拒否)
max 上限値 数値の上限(ここで指定した数値を超える値を拒否)
regex 正規表現 正規表現 ※高度な指定です
※フォーム内のフィールド名に対して個別に制限をかけられます。
※ { } の中に、"制限項目=>指定子" という書き方で、カンマ区切りで複数指定ができます。
※同一のフィールド名に対して複数の指定をしてしまった場合、最後の指定のみ有効となります。
のグループはそれぞれ、フィールド値が文字列か、数値か、checkboxあるいはselect式の選択肢かによって使い分けます。通常同時に指定する必要がないものです。例えば、文字列が入るフィールドに対して min や max を指定しても期待した動作をしませんし、 "min_len => 10" と指定しておいて、フィールド値に 12 と入っていた場合、文字列としてのバイト長は 2 であるため、この値は拒否されることになります。
※フォームに存在しない項目名を指定してしまうと、いかなる場合にもその項目への入力を促すエラーメッセージが出てしまいますので、フォームで指定した項目名と対応するように十分ご確認ください。
※手動での条件設定が簡単にできる設定ツールを用意しました。
   v0.5〜0.53用…http://www.psl.ne.jp/perl/f_mailer_condtool.cgi
   v0.54用…http://www.psl.ne.jp/perl/f_mailer_condtool054.cgi

[指定例]

1. メールアドレス入力必須指定をしたいとき(従来バージョンと同等の機能)
[ 'EMAIL', { alt=>'メールアドレス', required=>1 } ],
※フィールド名が "EMAIL" の場合、アドレス形式のチェックも同時に行われます。
※ '=>' のあとに来る 1 は、0 以外の数字であれば何でも構いません。
※ alt オプションは、エラーメッセージや確認画面・送信メール内で使われる項目名の「別名」として使われます。

2. <input name="暗証番号" size=6> などの入力欄で、半角数字のみで4ケタの入力を求めたいとき
[ '暗証番号', { z2h=>1, d_only=>1, len_min=>4, len_max=>4 } ],
または
[ '暗証番号', { z2h=>1, d_only=>1, min=>1000, max=>9999 } ],
※まず、全角→半角変換をして、全角数字が入力された場合を考慮します。
※その上で、数値のみ必須で、半角数字以外の入力を制限します。
※len_min と len_max に 4 を設定することで、4ケタ以外の入力を制限します。数値として 1000 以上 9999 以下、のように制限することも可能です。

3. 入力された数値の上限・下限を指定したいとき
[ '金額', { min=>100, max=>9999 } ],
※上記の例では、「金額」欄に、100円以上9999円以下の数値を要求します。 ※このオプションを指定するときは、d_only(数値のみ)も併せて指定しておかないと、誤動作することがあります。

4. 半角カタカナを全角にしたいとき
[ 'フリガナ', { h2z_kana=>1 } ],
※半角カタカナ(JISX0201)を全角カタカナに変換します。

5. 機種依存文字を拒否したいとき
[ 'メッセージ', { deny_rel=>1 } ],
※機種依存文字はとは、Windows/Macなどで独自に制定している丸数字、ローマ数字、カッコ付き数字などの記号・文字と、IBM/NEC拡張文字を指します。
※これらの文字は、インターネット環境では、文字化けしたり、対応するEUCコードがなかったりするので、一般には使うべきではありません。

6. 電話番号に半角数字とハイフン(-)のみを許可したいとき
[ '電話番号', { z2h=>1, regex=>'[^0-9-]' } ],
※まず、全角→半角変換をして、正規表現で 半角数字でもなくハイフンでもない文字にマッチするときにエラーを出すようにします。

▲目次へ ▲変数名索引へ
(7)完了画面
$THANKS_FLAG = [0|1];
0システムで用意した完了画面を出す
1(7-a)で指定した完了画面を出す
※送信完了時に表示する画面(いわゆるthanksページ)の指定をします。
▲目次へ ▲変数名索引へ
(7-a)送信画面のURL
$THANKS = "送信画面のURL";
※(7)で $THANKS_FLAG = 1; と設定した場合に指定します。
▲目次へ ▲変数名索引へ
(7-b)連続送信防止機能
$DENY_DUPL_SEND = [0|1];
0使用しない
1使用する(推奨)
※通常は「使用する」にしておくことをおすすめします。
※「連続送信防止機能」は、cookie を使うため、送信者のブラウザの cookie 機能が無効になっている場合は機能しません。
▲目次へ ▲変数名索引へ
(8)管理者に送られるフォーム内容メールの送信先/送信元アドレス
$SENDTO = "送信先アドレス";
$SENDFROM = "送信元アドレス";
※SENDTO は、フォームメールの送り先となります。
※SENDFROM は、そのメールのFromヘッダとなります。ただし、フォーム中に name="EMAIL" の入力欄があって、その値がある場合は、EMAILの値が優先され Fromヘッダとなります。
▲目次へ ▲変数名索引へ
(8-a)メールのタイトル(件名)
$SUBJECT = "メールのタイトル";
※SUBJECT は、そのメールのSubjectヘッダとなります。フォーム中に name="SUBJECT" の入力欄があって、その値がある場合でも、この指定が優先されます。フォーム中の値を優先させたい場合は、ここでの指定を空欄としてください(メール送信者にタイトルを指定してもらいたい場合など)。
▲目次へ ▲変数名索引へ
(8-b)ファイル添付関係の設定
@ATTACH_EXT = qw( ファイル拡張子1 ファイル拡張子2 … );
@ATTACH_FIELDNAME = qw( フィールド名1 フィールド名2 … );
$ATTACH_SIZE_MAX = 1ファイルあたりのサイズ上限(キロバイト);
$ATTACH_TSIZE_MAX = 合計サイズ上限(キロバイト);
$ENCODING = "[uuencode|base64]";
※拡張子はスペース区切りで複数指定できます(大文字/小文字の区別なし)。
※添付ファイルフィールド名は、必ず指定してください。この名称の type=file の入力欄をフォーム内に用意してください。
※ここで指定をしても、フォーム中に input type=file の入力欄がなかったり、form enctype=multipart/form-data の指定がない場合には、ファイルのアップロードはできません。
※ATTACH_SIZE_MAX および ATTACH_TSIZE_MAX は、0を指定すると "無制限" となります。ただし、とても大きなファイルをアップロードしようとしたとき、Webサーバの制限により、アップロードが完了しないうたに途中で接続が切断されることがあります。これはこのシステムの制限ではなくて、お使いのサーバやネットワークの制限です。
※添付ファイルエンコード方法は、v0.53 まではuuencodeのみ対応していましたが、v0.54 より base64 をサポートしました。"uuencode" と指定した場合と、無指定の場合のみ uuencode 方式でエンコードされ、それ以外の文字列が指定されると、base64 方式のエンコードとなります。base64方式はMIMEの標準ですので、ほとんどのメーラー(フリーメール)で対応しています。今までのバージョンで添付ファイルが受け取れなかった場合は、base64方式にしてください。
※フォーム内に name=ENCODING である値がある場合、その値がここでの指定より優先されます。radio ボタンや select タグを使うことで、送信者に選択させることができます。

[HTML例]

エンコード方式を選択 :
<input type=radio name=ENCODING value="uuencode" checked>uuencode
<input type=radio name=ENCODING value="base64">base64

▲目次へ ▲変数名索引へ
(8-c)フォーム内容メールのレイアウト
$MAIL_FORMAT_TYPE = [0|1|2|3];
1タイプ1
--------------------------------------
●メールアドレス:
  aaaaa@bbb.cc.dd
  
●好きな果物:
  りんご
  みかん
  
●感想:
  りんごは紅玉がおいしいです。でも
  食べられる季節が短いのが残念です。
--------------------------------------
2タイプ2
--------------------------------------
●メールアドレス:aaaaa@bbb.cc.dd
●好きな果物:りんご みかん
●感想:りんごは紅玉がおいしいです。
  でも食べられる季節が短いのが残念です。
--------------------------------------
3タイプ3
--------------------------------------------------------
●メールアドレス    :aaaaa@bbb.cc.dd
●お名前            :りんご みかん
●感想              :りんごは紅玉がおいしいです。でも
                      食べられる季節が短いのが残念です。
--------------------------------------------------------
0(8-f)で指定する
▲目次へ ▲変数名索引へ
(8-d)項目の前に付加する文字列/項目と値の間のセパレータ
$MARK = "項目の前に付加する文字列";
$SEPR = "項目と値の間のセパレータ";
※(8-c)でタイプ1〜3のフォーマットを使用する場合に、項目の前に付加する文字列(上記例で「●」の部分)および項目と値の間のセパレータ(同「:」の部分)を指定します。
▲目次へ ▲変数名索引へ
(8-e)行頭からセパレータまでの文字数
$OFT = 行頭からセパレータまでの文字数;
※(8-c)でタイプ3を指定した場合に、行頭からセパレータまでの文字(バイト)数を指定します。
--------------------------------------------------------
●メールアドレス    :aaaaa@bbb.cc.dd
●お名前            :りんご みかん
●感想              :りんごは紅玉がおいしいです。でも
                      食べられる季節が短いのが残念です。
---------+---------+------------------------------------
        10        20
上記の例の場合、文字数は 20 となります。
※「項目の前に付加する文字列」と項目名の文字数の合計がここで指定した数値より大きくなった場合は、その分だけセパレータと値の位置が右にずれます。
▲目次へ ▲変数名索引へ
(8-f)管理者に送られるフォーム内容メールのレイアウト指定
chomp($FORMAT = <<'STR');
レイアウト文字列
STR
※(8-c)で $MAIL_FORMAT_TYPE = 0; を指定した場合に、レイアウト文字列を指定します。
※フィールド値などの値は、##フィールド名## で表すことができます。
##フィールド名##フィールド値
##フィールド名:n##nは、複数行にまたがる文字列のインデント(半角スペースの数)を指定できます。
##フィールド名:n:h##同じ項目名に複数の答えがある場合、改行せず横方向に並べて表示します。nはインデントです(無視されますので適当な数値を設定してください)。
##フィールド名:n:v##同じ項目名に複数の答えがある場合、1つずつ改行して表示します。nはインデントです。
##NOW_DATE##送信日時
##REMOTE_HOST##接続元ホスト名
##REMOTE_ADDR##接続元IPアドレス
##USER_AGENT##使用ブラウザ名

[設定例]

      chomp($FORMAT = <<'STR');
-=-=-=-=-=-=-=
フォームの送信
-=-=-=-=-=-=-=
問1の答え:##問1の答え:0:h##
感     想:
  ##感想:2##

E-mail:##メールアドレス##
名  前:##お名前##   性別:##性別##
住  所:##ご住所##
TEL:##電話番号##
--------------------------------------------------------
送信日時    :##NOW_DATE##
接続元ホスト:##REMOTE_HOST##
使用ブラウザ:##USER_AGENT##
--------------------------------------------------------
STR
と指定した場合、
-=-=-=-=-=-=-=
フォームの送信
-=-=-=-=-=-=-=
問1の答え:りんご バナナ ぶどう もも
感     想:
  とっても感動しました。とっても感動しました。
  とっても感動しました。とっても感動しました。
  とっても感動しました。とっても感動しました。

E-mail:info@psl.ne.jp
名  前:あきら   性別:男性
住  所:東京都都会区都会町1-1-1 アーバンハイツ101
TEL:03-0000-0000
--------------------------------------------------------
送信日時    :2002-09-16 22:34:14
接続元ホスト:j072082.ppp.asahi-net.or.jp
使用ブラウザ:Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; NetCaptor 7.0.1)
--------------------------------------------------------

▲目次へ ▲変数名索引へ
(9)自動返信メール送信
$AUTO_REPLY = [0|1];
1送る
0送らない
※フォーム送信者に自動返信メールを送るかどうかを指定します。
※フォーム中に EMAIL 欄を用意しないでこの指定を「送る」にすると、(8)で指定した SENDFROM に宛ててメールが送られてしまいますので注意してください。
▲目次へ ▲変数名索引へ
(9-a)自動返信メールの送信元アドレス
$REPLY_SENDFROM = '自動返信メールの送信元アドレス';
※フォーム送信者に送る自動返信メールの送信元アドレスを指定してください。
※送信先は、フォームに入力のあった EMAIL 欄のアドレスになります。
※送信元アドレス(REPLY_SENDFROM)を指定しないと、(8)で指定した SENDFROM の値が使われます。
▲目次へ ▲変数名索引へ
(9-b)自動返信メールのタイトル(件名)
$REPLY_SUBJECT = "自動返信メールのタイトル";
▲目次へ ▲変数名索引へ
(9-c)自動返信メールのレイアウト
$REPLY_MAIL_FORMAT_TYPE = [0|1|2|3];
1タイプ1
--------------------------------------
●メールアドレス:
  aaaaa@bbb.cc.dd
  
●好きな果物:
  りんご
  みかん
  
●感想:
  りんごは紅玉がおいしいです。でも
  食べられる季節が短いのが残念です。
--------------------------------------
2タイプ2
--------------------------------------
●メールアドレス:aaaaa@bbb.cc.dd
●好きな果物:りんご みかん
●感想:りんごは紅玉がおいしいです。
  でも食べられる季節が短いのが残念です。
--------------------------------------
3タイプ3
--------------------------------------------------------
●メールアドレス    :aaaaa@bbb.cc.dd
●お名前            :りんご みかん
●感想              :りんごは紅玉がおいしいです。でも
                      食べられる季節が短いのが残念です。
--------------------------------------------------------
0(9-f)で指定する
▲目次へ ▲変数名索引へ
(9-d)項目の前に付加する文字列/項目と値の間のセパレータ
$REPLY_MARK = "項目の前に付加する文字列";
$REPLY_SEPR = "項目と値の間のセパレータ";
※(9-c)でタイプ1〜3のフォーマットを使用する場合に、項目の前に付加する文字列(上記例で「●」の部分)および項目と値の間のセパレータ(同「:」の部分)を指定します。
▲目次へ ▲変数名索引へ
(9-e)行頭からセパレータまでの文字数
$REPLY_OFT = 行頭からセパレータまでの文字数;
※(9-c)でタイプ3を指定した場合に、行頭からセパレータまでの文字(バイト)数を指定します。
--------------------------------------------------------
●メールアドレス    :aaaaa@bbb.cc.dd
●お名前            :りんご みかん
●感想              :りんごは紅玉がおいしいです。でも
                      食べられる季節が短いのが残念です。
---------+---------+------------------------------------
        10        20
上記の例の場合、文字数は 20 となります。
※「項目の前に付加する文字列」と項目名の文字数の合計がここで指定した数値より大きくなった場合は、その分だけセパレータと値の位置が右にずれます。
▲目次へ ▲変数名索引へ
(9-f)自動返信メールのレイアウト指定
chomp($REPLY_FORMAT = <<'STR');
レイアウト文字列
STR
※(9-c)で $REPLY_MAIL_FORMAT_TYPE = 0; を指定した場合に、レイアウト文字列を指定します。
※フィールド値などの値は、##フィールド名## で表すことができます。
##フィールド名##フィールド値
##フィールド名:n##nは、複数行にまたがる文字列のインデント(半角スペースの数)を指定できます。
##フィールド名:n:h##同じ項目名に複数の答えがある場合、改行せず横方向に並べて表示します。nはインデントです(無視されますので適当な数値を設定してください)。
##フィールド名:n:v##同じ項目名に複数の答えがある場合、1つずつ改行して表示します。nはインデントです。
##NOW_DATE##送信日時
##REMOTE_HOST##接続元ホスト名
##REMOTE_ADDR##接続元IPアドレス
##USER_AGENT##使用ブラウザ名

[設定例]

      chomp($REPLY_FORMAT = <<'STR');
-=-=-=-=-=-=-=
フォームの送信
-=-=-=-=-=-=-=
問1の答え:##問1の答え:0:h##
感     想:
  ##感想:2##

E-mail:##メールアドレス##
名  前:##お名前##   性別:##性別##
住  所:##ご住所##
TEL:##電話番号##
--------------------------------------------------------
送信日時    :##NOW_DATE##
接続元ホスト:##REMOTE_HOST##
使用ブラウザ:##USER_AGENT##
--------------------------------------------------------
STR
と指定した場合、
-=-=-=-=-=-=-=
フォームの送信
-=-=-=-=-=-=-=
問1の答え:りんご バナナ ぶどう もも
感     想:
  とっても感動しました。とっても感動しました。
  とっても感動しました。とっても感動しました。
  とっても感動しました。とっても感動しました。

E-mail:info@psl.ne.jp
名  前:あきら   性別:男性
住  所:東京都都会区都会町1-1-1 アーバンハイツ101
TEL:03-0000-0000
--------------------------------------------------------
送信日時    :2002-09-16 22:34:14
接続元ホスト:j072082.ppp.asahi-net.or.jp
使用ブラウザ:Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; NetCaptor 7.0.1)
--------------------------------------------------------

▲目次へ ▲変数名索引へ
(10)フォームデータのファイル書き出し
$FILE_OUTPUT = [0|1];
1書き出す
0書き出さない
▲目次へ ▲変数名索引へ
(10-a)書き出すファイル名
$OUTPUT_FILENAME = "[サーバ上のパス/] 書き出すファイル名";
※固定ファイルでよければパスとファイル名を直接指定してください。フォームデータの値をパスやファイル名の一部に使用する場合は、##フィールド名## のように指定してください。
※上記のとき、値に非アスキー文字(2バイト文字など)が含まれていた場合は、%xx のようなURLエンコードをした値を使用します。
例: <input name=氏名> の欄に "山本太郎" と入力があり、ファイル名の指定が "##氏名##.txt" であった場合、"%8e%81%96%bc.txt" にデータを格納します(SHIFT-JISコード)。
※パスは、相対パスの場合は、f_mailer.cgiのあるディレクトリを起点とします。URLではなく、サーバのファイルシステム上のパスを指定してください。
※書き出すべきファイルはあらかじめ空のファイルを用意して書き込み権限を与えておくか、ファイルを生成するディレクトリに f_mailer.cgi からファイルを生成できる権限を与えておいてください。
▲目次へ ▲変数名索引へ
(10-b)書き出すファイルの形式
$OUTPUT_SEPARATOR = [0|1];
0タブ区切りファイル(TSV)
1カンマ区切りファイル(CSV)
▲目次へ ▲変数名索引へ
(10-c)書き出すフィールドの並び順
@OUTPUT_FIELDS = (
  "フィールド名1",
  "フィールド名2",
  …,
);
※フィールド名に、以下の名前を指定することで、関連情報を一緒に書き出すことができます。
REMOTE_HOST環境変数 REMOTE_HOST の値。接続元ホスト名。
REMOTE_ADDR環境変数 REMOTE_ADDR の値。接続元のIPアドレス。
USER_AGENT環境変数 HTTP_USER_AGENT の値。ブラウザ名。
NOW_DATE送信時の日付。

※手動での条件設定が簡単にできる設定ツールを用意しました。
   v0.5〜0.53用…http://www.psl.ne.jp/perl/f_mailer_condtool.cgi
   v0.54用…http://www.psl.ne.jp/perl/f_mailer_condtool054.cgi

▲目次へ ▲変数名索引へ
(11)付加的に実行したいコード1
$EVAL_COMMAND = <<'STR';
付加的に実行したいコード
STR
※付加的に実行したいコードを指定します。
※入力された値をチェックした後確認画面の表示前に実行されます。
※Perlプログラミングの知識が必要です。
▲目次へ ▲変数名索引へ
(12)付加的に実行したいコード2
$EVAL_COMMAND2 = <<'STR';
付加的に実行したいコード
STR
※付加的に実行したいコードを指定します。
※メール送信する直前に実行されます。
※Perlプログラミングの知識が必要です。
▲目次へ ▲変数名索引へ
(13)sendmailのパス
$SENDMAIL = '[sendmailのパス/] sendmail';
※sendmailをフルパスで指定してください。通常は /usr/sbin/sendmail または /usr/lib/sendmail のいずれかです。


FORM MAILER v0.54 Author's Page