Perl Script Laboratory

FORM MAILER v0.46

フォーム作成の注意事項

  • フォームは、<form action=〜> で指定する、データを渡すスクリプトへのURLが間違っていない限り、基本的にはまったく自由にHTMLで記述してください。<input>タグ、<select<タグ、<textarea>タグなど、<form></form> の間に書けるフォーム用のすべてのタグが使用可能です。送信するデータが多い場合は method=post にすることをおすすめします。
  • 項目名(name属性)は2バイト文字(日本語)を含めて、自由に設定できます。ただし、半角スペースを含めないでください。
設定例:
<input type=radio name="性別" value="男性"<男性
<input type=radio name="性別" value="女性"<女性
住所:<input name="address" size=50<
感想をどうぞ:<textarea name="感想" cols=60 rows=12<</textarea<

ただし、以下に挙げる文字列はシステム予約語ですので、項目名として使用できません(使用しても無視されます)。予約語はすべて大文字ですので、小文字の単語であれば問題なく使えます(大文字小文字は区別されます)。

FORM_MAILER_FLAG SENDMAIL CONF CONFIRM_FLAG CONFIRM_FORCED 
CONFIRM_TMPL REQUIRED SENDTO SENDFROM SUBJECT THANKS VALUES 
SEND_FORCED REMOTE_HOST REMOTE_ADDR USER_AGENT NOW_DATE
  • 設定ファイルを複数個用意してフォームによって使い分ける場合は、以下のタグで設定ファイルを指定します。
<input type=hidden name=CONF value="設定ファイル名">

ここで指定するファイル名は、f_mailer.cgi を設置しているディレクトリを起点とした相対パスか、サーバ上の絶対パスで指定してください。ファイル名のみを指定した場合は同一ディレクトリに置いてください。 ※使用する設定ファイルが、f_mailer.cgi と同一ディレクトリの f_mailer_conf.pl の場合には、このタグを省略することができます。 ※このタグを同じフォーム内に2つ以上指定すると動作しませんのでご注意ください。

  • フォームに入力してもらった送信元のE-mailアドレスを、届くメールのFromヘッダにするには、フォームのname属性を EMAIL としてください。
メールアドレス : <input name=EMAIL size=40>
  • 一部の設定内容は、送信フォーム内で指定が可能です。
name属性 説明および使用例(カッコ内数字は設定ファイル内の番号)
REQUIRED (5)入力必須フィールド名
<input type=hidden name=REQUIRED value="氏名!!!EMAIL!!!電話番号">
複数指定の場合は"!!!"でつないでください。
SENDTO (6)送信先アドレス
<input type=hidden name=SENDTO value=info@psl.ne.jp>
SENDFROM (6)送信元アドレス
<input type=hidden name=SENDFROM value=info@psl.ne.jp>
SUBJECT (7)メールのタイトル(件名)
<input type=hidden name=SUBJECT value=フォームの送信>
THANKS (9)送信完了メッセージ用HTMLのURL
<input type=hidden name=THANKS value=http://www.psl.ne.jp/thanks.html<

上記の値は、設定ファイルで該当する値が設定されていないときに限り有効となります。

設定内容がソースに現れてしまうため、悪用される危険があります。不特定多数の人がアクセス可能な場所では、決して上記のような指定をしないでください。


  • 入力フォームを送信する前に確認画面を出すかどうかを、そのつど送信者に選ばせることができます。
    (3)CONFIRM_FLAGの値を1または2に設定(確認モード)しているときに、name=SEND_FORCED であるタグをフォームに含め、送信者がチェックを入れると、確認を省略して直接送信されます。
<input type=checkbox name=SEND_FORCED value="1" checked>確認画面を出さずに直接送信

逆に、(3)CONFIRM_FLAGの値を0に設定(直接送信モード)しているときに、name=CONFIRM_FORCED であるタグをフォームに含め、送信者がチェックを入れると、確認モードとなります。

<input type=checkbox name=CONFIRM_FORCED value="1" checked>確認画面を出す

フォーム作成事例集

いくつかの具体的なケースについての事例集および、アドオン部分のサンプル集は追って公開予定です。