◆特徴
訪問者がフォームからメールを送れるようにします。
全てテンプレートで管理されているので痒いところに手が届くという感じです。
このCGIは一応設置は簡単なハズですが、一応設定がややこしいので中級者向けとしておきます。
このプログラムを使用するには、sendmailがサーバーにインストールされている必要があります。
sendmail とはメールを送信するための外部プログラムのことで、サーバーによってインストールしてあるところと無いところがあるので、サポートページ等で確認するかサーバー管理者に問い合わせて下さい。
テンプレートファイルに希望のアンケートフォームを作成し、メールテンプレートファイルで送信されるメールの形式を作ることで、希望通りのメールを受信することが出来ます。
◆設置方法:
サーバー設置例 ファイル名 パーミッション 転送モード 解説 wmail.cgi 755 アスキー CGIプログラム jcode.pl アスキー 日本語変換プログラム ok.htm アスキー 送信完了後に表示するHTML mail.htm アスキー メールフォームHTML check.htm アスキー 送信内容確認HTML mail.txt アスキー メールテンプレート lock.txt 666 アスキー ロックファイル count.txt 666 アスキー カウントファイル
◆CGIプログラムをテキストエディタで開き1行目をサーバーの設定に直してください。
◆CGIプログラムの設定項目を必要に応じて変更してください。
◆サーバー設置例を参考に各ファイルをFTPソフトでサーバーに設置してください。
◆CGIにブラウザからアクセスして動けば設置完了です。
◆使用方法
サーバーにUPしたwmail.cgiにアクセスしてください。
フォームが表示されると思います。自分で作ったフォームからも送信することができます。
自分で作る場合、FORM要素の action属性にwmail.cgiまでのパス method属性に POST を設定して下さい。そして必ず<input type=hidden name=sendmail value=1>というタグをFORMタグの中に配置します。
このINPUT要素が無い場合、メールは送信されません。送信前に項目の確認画面を出したい場合は、フォーム部品のname属性にcheck、value属性に確認画面に表示するフォーム部品名を,(カンマ)で区切って記述します。
<input type=hidden name=check value="name,mail,subject,message">必須項目にしたい場合は、フォーム部品のname属性にchecks、value属性に必須にしたいフォーム部品名をカンマで区切って記述します。
<input type=hidden name=checks value="name,message">
check.htm
このHTMLは送信内容を確認するためのHTMLとなります。
<!--LOOP START-->
<!--LOOP END-->
このLOOPの間に記述されているタグが1つの項目ごとに繰り返し表示されます。
$n $v $hidden はCGIで使うキーなので削除したりしないようにして下さい。
なおこのHTMLの意味がいまいち解らない方は、あまりデザインの修正をされない事をお勧めします。
CGIと連携しているフォーム部品名
priority このフォーム部品には1〜5の数値を選択できるSELECTを使います。そうする事で、メールの重要度を決定する事が出来ます。メールの重要度?と思った方は無視してOKな機能です。 送信者がこのフォームに半角英数字でメールアドレスを記入していれば、メールの送信者として認識されますので、返信ボタンを押すだけでメールの返信が可能になります。 subject 送信者がこのフォームに題名を記述した場合、メールの題名となります。
◆おまけ機能
○IF文機能mail.txt 内で簡単なIF文を書くことが出来ます。これによりフォームと連携した メールを受け取ることが出来る様になります。 選択肢 それぞれ3つのフォーム部品名は同じ物を記述してください。 <!--IF=フォーム部品名--> フォーム部品名が存在したときの <!--ELSE=フォーム部品名--> フォーム部品名が存在しなかった時のタグ <!--END=フォーム部品名--> またこれらの選択肢は入れ子も可能です。 *ただし IF=A の中に IF=A は入れ子できません。 <!--IF=A--> フォーム部品名 A が存在したときのタグ <!--ELSE=A--> フォーム部品名 A が存在しなかった時・・ <!--IF=AB--> フォーム部品名 AB が存在したときのタグ <!--ELSE=AB--> フォーム部品名 AB が存在しなかった時のタグ <!--END=AB--> <!--END=A--> ○比較演算子 以下のように使う事ができます。 # ちょっとプログラムをかじった事のある人向け <!--IF=A >= 5--> Aが5以上なら <!--ELSE=A--> Aが5未満なら <!--END=A--> 比較演算子を使う時は必ず次の様にして下さい。 <!--END=フォーム部品名(半角スペース1個)比較演算子(半角スペース1個)比較対象--> 比較対象に「フォーム部品名」を記入しても「文字列」としか認識できません。 ○以下の比較演算子はPerlと同じ処理です。 > , < , >= , <= , == , != gl, lt, ge , le , eq , ne●おまけ機能その2
$$REMOTE_HOST$$
や
$$HTTP_USER_AGENT$$
など環境変数の値もメールテンプレートで使用可能です。
◆もし上手く作動しなかかった場合
・あなたのサーバーはCGIを使用する事が可能ですか?
・パーミッションの設定は合っていますか?
・ファイルの名前はあっていますか?
・CGIファイルの1行目はサーバーの設定に合っていますか?
・どうしても動かない様であれば連絡下さい。出来る限りの対処をします。
Copyright (c) 1998-2000 CGIROOM