
フォームメールの設置の仕方
フォームメールとは、問い合わせフォームやアンケートフォームで必要事項を記入した内容を管理者にメールで通知する機能です。
ビギナーコースからエンタープライズコースまで利用できます。
なお、ご利用には登録が必要です。フォーム内容の送信先メールアドレスとフォームのタイトルをご記入の上、当社までご連絡下さい。
下記を例として設定します。
まずフォームの内容をホームページ作成ソフト等で作成します。
フォームの画面は自由に作成できますが、フォームメールCGIを呼び出す際にいろいろ設定する部分があります。下記のように設定してください。
●送信フォームの書き方
◎設置したformmail.cgiを呼び出します。通常は※1か※2に設定してください。
※1 ファイルアップロード可能 字数制限なし(実際は2^17=131072bytes以内)
<form action="http://www.sample.com/cgi/formmail/formmail.cgi"
method="POST" ENCTYPE="multipart/form-data">
※2 字数制限なし(実際は2^17=131072bytes以内) 内容確認機能が使える
<form action="http://www.sample.com/cgi/formmail/formmail.cgi"
method="POST">
※3 字数制限あり 内容確認機能が使える
<form action="http://www.sample.com/cgi/formmail/formmail.cgi">
マルチパート処理(※1)はブラウザに依存しますが、使えないブラウザでは※2との処理になりますので、単にファイルアップロードが使えないだけとなります。
◎送信フォーム設定
次の事項を設定することができます。
基本形式 <INPUT TYPE="タイプ" NAME="コマンド名"
VALUE="設定内容">
※ NAME=""に書く名称の頭文字がアンダースコア(_)の場合は、コマンド名として判断されてしまい、内容文として無視されたり、日本語が混じっているとエラーになる可能性がありますので注意してください。
※ タイプには、hidden/text/checkbox/radio/password があります。checkboxとradioは、記述しても内容が空の場合は、その項目自体送信されませんのでご注意ください。例えば、TYPE=TEXTにしたフォームが空であっても、NAME="名前"で設定した名前は送信されて、その欄が空欄であることが分かりますが、TYPE=CHECKBOXでチェックされていない場合は、その項目自体、送信内容には記録されません。これは<SELECT>も同様です。これらはHTMLの知識ですので、各自参考書や文法書などで学習してください。
| |
コマンド名 |
設定内容 |
有効なタイプ |
| メールのタイトル |
_subject |
メールの題名 |
hidden/text/ radio(*1) |
| 送信後のページ |
_location |
URL(httpから) |
hidden |
| 送信後にリンク(*2) |
_gourl |
URL(httpから) |
hidden |
| 送信後にリンク(*2) |
_goname |
名称 |
hidden |
| Eメール欄設定 |
_emailset |
Eメールとして扱う欄の名称(*3) |
hidden |
| 表記形式(*4) |
_type |
1または空欄 |
hidden |
| 必須入力設定(複数可) |
_indispen |
必須入力にする欄名(*5) |
hidden |
| ボディ設定(*6) |
_body |
<body>設定に準拠 |
hidden |
| 送信前確認表示 |
_check |
1または空欄 |
hidden/checkbox(*7) |
| 送信内容の写し |
_ccopy |
1または空欄 |
hidden/checkbox(*8) |
| CSV出力 |
_csv |
1 |
hidden(*9) |
*1 <input type=radio name="_subject"
value="商品の注文" checked>商品の注文
<input type=radio name="_subject" value="在庫の問い合わせ">在庫の問い合わせ
たとえばこのようにすれば、メールのタイトルを送信者が選択できます。必ずどれかが選択されているように、CHECKED
を必ず付けましょう。
*2 2設定が1組となり、どちらも設定されていないと無視されます。また、_locationが設定されている場合も無視されます。
*3 <input type=hidden name="_emailset"
value="Eめーる">
電子メールをご記入ください <input type=text name="Eめーる" size=30>
このように、name="Eめーる"で記入される欄を、Eメールとして扱う場合に、その指定を行います。指定された欄は、Eメール構文チェックの対象となり、メールの
From: 欄に対応します。設定なき場合や空欄の場合は、anonymous@on.the.net という匿Eメールであることを意味するアドレスで送られてきます。(返信してはいけません) なお、カンマやスペースを含めることは、セキィリティ上できないようにしています。
*4 <input type=hidden name="_type"
value="1">にすれば、
[名前]
管理者
[Eめーる]
webmaster@sample.com
という形式で送られてきます。設定しない場合は、
名前=管理者
Eめーる=webmaster@sample.com
となります。
*5 <input type=hidden name="_indispen"
value="名前">
<input type=hidden name="_indispen" value="Eめーる">
必ず入力をさせるために、空入力チェックを行う項目(欄)名を指定できます。
_emailsetを組み合わせれば、Eメールとして扱う欄も必須入力にできます。
type=TEXT または <TEXTAREA> で有効です。
*6 <input type=hidden name="_body"
value="bgcolor=#000000 text=black">
<BODY ***>の***の部分を、"を使わずに設定します。送信フォームの画面と統一性を持たせたい場合に設定します。
*7 <input type=checkbox name="_check"
value="1">送信前に内容を確認する
たとえばこのようにすれば、送信者が選択できます。この機能は、ENCTYPE="multipart/form-data"
にしない場合に有効です。
*8 <input type=checkbox name="_ccopy"
value="1" checked>送信内容の写しを表示する
たとえばこのようにすれば、送信者が選択できます。
*9 <input type=hidden name="_csv"
value="1">
CSV出力を行う場合は、CGI側ではチェックできない次の点に注意してフォームを作成する必要があります。
チェックボックスは使ってはいけない.
ラジオボタンにはどこかに必ずあらかじめチェックを入れておく必要がある.
セレクトフォームにはどこかを必ずあらかじめを選択しておく必要がある.
セレクトフォームにはマルチプル(複数選択可能にする機能)は使ってはいけない.
なぜかといえば、CSVで扱うデータは同じ列に同じ項目のデータが来なければ意味がありません。
checkbox等は、選択しないとその項目自体何も送られてきませんし、複数選択するとその分だけ項目が増えますので、ずれてしまうからです。
※その他の注意
複数のファイルアップロードの場合、その項目名は重複してはいけません。また、最大で99までとなります。
以上で完了です。
|