◆TOYAMAインターネット活用研究会のメンバーのためのページです | Membre's Page |
■メールフォームの設置方法について
ここでは、インターネット活用研究会のWebサーバーで使用できるメールフォームを設置する方法について説明します。
設定事項はすべてタグでの指定となります。
mailform2.cgi での新しい機能
- 項目ごとに必須の設定ができます。(複数選択の場合も可能)
- フォームに記入した人が入力内容を一旦確認することができるようになった。
- フォームに記入した人が入力内容の控えをメールで受け取ることができるようになった。
- インターネット活用研究会のメンバーが受け取るメールの差出人は、フォームに入力させたメールアドレスを使用するようにした。 このフィールドは必須フィールドとなり、入力がない場合はエラーが表示される。この点が従来の mailform.cgi と互換性がない部分である。
旧 CGI からの変更点
- FROM が必須フィールドになりました。 FROM が無い場合はエラーになりブラウザのバックで戻るようにメッセージが表示されます。
- インターネット活用研究会メンバーが受け取るメールは、 差出人が FROM になり、宛先が TO になります。
- ユーザーへの入力控えメールを利用する場合、差出人が TO になり、宛先が FROM になります。(つまりインターネット活用会メンバーが受け取るメールの FROM/TO を逆転した形。
- SUBJECT は省略可ですが、省略した場合、従来の SUBJECT が使われます。この SUBJECT は インターネット活用研究会メンバーが受け取るメールと、ページ閲覧者が受け取るメールとで同じになります。
- ACCEPTREDIRECT, INVALREDIRECT, TO が存在しない場合はシステムエラーとなります。ブラウザのバックで戻るように指示がでます。
- CHECK=0 RECPT=0 とすると従来とほぼ同じ動作をする CGI になります。
- 旧 mailform.cgi と互換性がない部分は、FROM フィールドが必須項目になった点と、SUBJECT, CHECK, RECPT が新にシステムで予約されたフィールド名になった点です。
メールフォームの設置方法
メールを送信したいWebページに フォームを配置します。
――HTMLソース――
<form method="POST" action="/cgi-bin/mailform2.cgi">
【注意】オリジナルドメインサービスを利用されている会員は
<form method="POST" action="http://www4.toyama-smenet.or.jp/cgi-bin/mailform2.cgi">
と絶対パスで指定してください。
※メールフォームを設置するには,<form> タグの「action」で「/cgi-bin/mailform2.cgi」と指定することで、mailform2.cgiを動作させることができます。
その際、methodオプションはPOSTを指定したください。
●メールフォームを利用したサンプルイメージ
●メールフォームのソース(html)
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>注文書(サンプル)</title></head> <body>
<h1> ―商品注文書―</h1>
以下の入力フォームに、必要事項をご入力のうえ、<font color="#0000FF">送信ボタン</font>をおしてください。
<hr><form method="post" action="/cgi-bin/mailform2.cgi">
<table>
<tr><td><b>お名前<font color="#ff0000">(必須)</font>:</b></td><td><input type="text" name="01_名前">(全角でお願いします。)</td></tr>
<tr><td><b>ご住所<font color="#ff0000">(必須)</font>:</b></td><td><input type="text" name="02_住所" size="50">(全角でお願いします。)</td></tr>
<tr><td><b>お電話番号:</b></td><td><input type="text" name="03_電話">(半角英数,"-"なしでお願いします。(例)0764445600)</td></tr>
<!--ページを見ている人のメールアドレス--><tr>
<td><b>メールアドレス:</b></td><td><input type="text" name="FROM" size="50"></td></tr>
</table><br>
<br>
<hr>
ご注文になりたい商品の商品名、サイズ、数量を入力してください。
<table>
<tr>
<td> </td><td><b>商品名</b></td><td><b>サイズ</b></td><td><b>数量</b></td></tr><tr><td><b>1</b></td>
<td><input type="text" name="04_商品名1"></td>
<td>
<select name="05_サイズ1">
<option selected> S<option> M<option> L</select>
</td>
<td><input type="text" name="06_数量1" size="5"></td></tr><tr><td><b>2</b></td>
<td><input type="text" name="07_商品名2"></td>
<td>
<select name="08_サイズ2">
<option selected> S<option> M<option> L</select>
</td>
<td><input type="text" name="09_数量2" size="5"></td></tr><tr><td><b>3</b></td>
<td><input type="text" name="10_商品名3"></td>
<td>
<select name="11_サイズ3">
<option selected> S<option> M<option> L</select>
</td>
<td><input type="text" name="12_数量3" size="5"></td></tr>
</table>特に必要な事項がございましたら、お書きください。<br>
<textarea rows=5 cols=60 name="13_コメント"></textarea>
<hr>
お支払い方法を選択してください。<br>
<input type="radio" name="14_支払方法" value="銀行振込" checked> 銀行振込(銀行振込をご選択の場合は、入金確認後に商品を発送いたします。)<br>
<input type="radio" name="14_支払方法" value="代金引換" > 代金引換<hr>
<b>受取可能な時間帯を全て選択してください。<font color="#ff0000">(必須)</font></b>
<input type="checkbox" name="15_配送時間[]" value="午前中">午前中
<input type="checkbox" name="15_配送時間[]" value="12時~17時">12時~17時
<input type="checkbox" name="15_配送時間[]" value="17時~21時">17時~21時
<input type="checkbox" name="15_配送時間[]" value="21時以降">21時以降<hr>
<!--必須項目にする-->
<input type="hidden" name="MUST[]" value="01_名前">
<input type="hidden" name="MUST[]" value="02_住所">
<input type="hidden" name="MUST[]" value="15_配送時間"><!--研究会メンバの方が受取るメールアドレスの指定例-->
<input type="hidden" name="ADDR" value="staff@toyama-smenet.or.jp"><!--確認フォームを利用するか?-->
<input type="hidden" name="CHECK" value="1"><!--確認メールを送信するか?-->
<input type="hidden" name="RECPT" value="1"><!--研究会メンバの方が受取るメールのサブジェクトの指定例-->
<input type="hidden" name="SUBJECT" value="商品注文書"><!--フォーム送信が成功した場合に表示させるURL指定例-->
<input type="hidden" name="ACCEPTREDIRECT" value="http://www.toyama-smenet.or.jp/test/thankyou.html"><!--フォーム送信が失敗した場合に表示させるURL指定例-->
<input type="hidden" name="INVALIDREDIRECT" value="http://www.toyama-smenet.or.jp/test/error.html"><input type="submit" value="送信"> <input type="reset" value="リセット">
</form>
</body>
</html>
この一覧のパラメータを利用してメールフォームを制御することができます。利用される際にはサンプルのHTMLソースを参考にしてください。
メールフォームで利用できるパラメータ一覧
フィールド名 入力する値 指定例 ADDR インターネット活用研究会メンバーが受取るメールアドレス <input type="hidden" name="ADDR" value="staff@toyama-smenet.or.jp">
※上記のタグ内のメールアドレスは、ご自身の設定に合わせて書き換えてください。FROM ページを見ている人に入力させるメールアドレス <input type="text" name="FROM" size="50"> ACCEPTREDIRECT フォーム送信が成功した時に表示されるURL指定 <input type="hidden" name="ACCEPTREDIRECT" value="http://www.toyama-smenet.or.jp/test/thankyou.html">
※上記のタグ内のURLは、ご自身の設定に書き換え、絶対パスで指定することをお勧めします。INVALIDREDIRECT フォーム送信が失敗した時に表示されるURL指定 <input type="hidden" name="INVALIDREDIRECT" value="http://www.toyama-smenet.or.jp/test/error.html">
※上記のタグ内のURLは、ご自身の設定に書き換え、絶対パスで指定することをお勧めします。SUBJECT 研究会メンバの方が受取るメールのサブジェクト <input type="hidden" name="SUBJECT" value="商品注文書">
※上記のタグ内のサブジェクトは、ご自身の設定に合わせて書き換えてください。CHECK フォームに入力した内容が確認できる確認フォームを利用するか?
・利用する="1"
・利用しない="0"<input type="hidden" name="CHECK" value="1"> RECPT フォームから送信に成功した場合に確認メールを送信するか?
・送信する="1"
・送信しない="0"<input type="hidden" name="RECPT" value="1"> ※必須項目にする場合の設定方法
MUST[] 必須項目にする項目名 <input type="hidden" name="MUST[]" value="01_名前">
MUST[] 必須項目にする項目名(複数選択の場合) <input type="checkbox" name="15_配送時間[]" value="午前中">午前中
<input type="checkbox" name="15_配送時間[]" value="12時~17時">12時~17時
<input type="checkbox" name="15_配送時間[]" value="17時~21時">17時~21時
<input type="checkbox" name="15_配送時間[]" value="21時以降">21時以降<input type="hidden" name="MUST[]" value="15_配送時間">
設置にあたっての注意
ADDR、SUBJECT、ACCEPTREDIRECT、INVALIDREDIRECTはフォームコントロール(hidden)"非表示"で設定することをお勧めします。特にACCEPTREDIRECT、INVALIDREDIRECTを任意で入力させることは止めてください。
受け取りメールをわかり易くするために
サンプルメールフォームから送られてくるメールのサンプルを以下に掲載します。
FROM = abcd@toyama-smenet.or.jp
01_名前 = 富山太郎
02_住所 = 富山県富山市高田
03_電話 = 0764445600
04_商品名1 = 商品A
05_サイズ1 = S
06_数量1 = 10
07_商品名2 = 商品B
08_サイズ2 = M
09_数量2 = 20
10_商品名3 = 商品C
11_サイズ3 = L
12_数量3 = 30
13_コメント = 商品Aは包装出来ませんか?
14_支払方法 = 銀行振り込み
フォームページ設置者が受取るメールは、以下の順に並びます。
・ページ閲覧者のメールアドレス(FROM)が必ず先頭になる。
・その他は、inputタグの中のnameパラメータでソートされる
したがって、サンプルフォームでは、上から順に、
・お名前
・ご住所
・お電話番号
・・・・
という順にメール本文を受け取るために、下記のようにしています。
<input type="text" name="01_名前">
<input type="text" name="02_住所" size="50">
<input type="text" name="03_電話">