Home > Template Mail解説

◆ Template Mail (テンプレートメール)
| スクリプト名 | tmail.cgi |
| バージョン | Ver 1.10 |
| 作成日/更新日 | 2003.07.06 / 2003.08.21 |
| サンプル |
サンプル
|
| 利用制限 |
フリー(商用利用を除く) 詳しくは利用規程をご覧下さい
|
| ご質問・ご要望 |
サポート掲示板へ
|
| ダウンロード |
tmail.lzh
|
※ ダウンロードの反応が多少遅いのでクリック後暫くお待ちください。
- Web上フォームからメール送信を行うことができます。
- 送信内容を確認することができます。
- 送信項目および必須項目は任意に設定できます。
- メール送信のフォーマットを自由に設定することが可能です。
◆ ダウンロードファイル内容
ダウンロードが完了したら解凍して下さい。圧縮ファイルには下記のファイルが含まれています。
- tmail.cgi (メインスクリプト)
- fcom.pl (基本関数ライブラリ)
- jcode.pl (文字コード変換ライブラリ)
- tmail_tmp.html (テンプレートHTML)
- tmail.css (スタイルシート)
- sample.html (サンプルメール送信フォームHTML)
- tmail_fmt.txt (送信メールフォーマット)
◆ プログラム設定値の変更
- エディタなどで 「tmail.cgi」 のファイルを開いて、下記の内容を適宜修正して下さい。
文字コードはEUCです。通常のメモ帳などでは文字化けして表示されます。
- #!/usr/local/bin/perl (1行目)
- 設置するサーバの環境に合わせて設定して下さい。ほとんどの場合このままで使用できると思います。
- $send_mail = '/usr/sbin/sendmail';
- 設置するサーバの環境に合わせてSendMailのパスを設定して下さい。
- $mail_to = 'xxxxx@xxx.xxxxxx.xxxx';
- メール送信先のメールアドレスを指定して下さい。(必ずシングルクォーテションで囲む)
- $fmt_dir = '.';
- メール送信フォーマットファイルを格納するディレクトリを設定して下さい。
- $mail_fmt = 'thanks_fmt.txt';
- メール送信用フォーマットのデフォルトファイル名を設定して下さい。
- $html_tmp = './tmail_tmp.html';
- HTMLテンプレートファイルのパスを設定して下さい。
- $referer_ck = 1;
- 指定サイト以外からのCGI実行を禁止する設定です。許可サイト(下記設定)以外からの実行を禁止する場合は1として下さい。
- @allow_url = ( 'www.xxxxx.zzzz' );
- CGIの実行を許可するサイトのアドレスを指定して下さい。当スクリプトを設置するサイトをhttp://以降から正確に指定して下さい。
複数のサイトから許可する場合はカンマで区切りで複数のURLを指定して下さい。特に設定しない場合は( )内は空のままにして下さい。
- require "./jcode.pl";
- 文字コード変換ライブラリのパスを適宜設定して下さい。同一ディレクトリの場合は、修正はありません。
◆ サーバへの設置
- ここでは「public_html」(ご自分のWWW領域)下のCGI実行可能ディレクトリ「cgi-bin」の下に「mail」というディレクトリを作成します。
- さらにその下に、ロックファイル用の「lock」ディレクトリを作成します。
- プログラム設定変更の箇所でディレクトリ名を変更した場合は、変更したディレクトリに合わせて作成して下さい。
- 初期状態のディレクトリでは、全体構成は下記のようになります。カッコ [ ]内の数字はアクセス権の設定値です。
【設置例】
public_html / index.html(トップページ)
|
+-- cgi-bin / mail / tmail.cgi [755] (メインスクリプト)
fcom.pl [644] (基本関数ライブラリ)
jcode.pl [644] (文字コード変換ライブラリ)
tmail_tmp.html [644] (HTMLテンプレート)
tmail.css [644] (スタイルシート)
tmail_fmt.txt [644] (メール送信フォーマット)
|
◆ フォーム送信用HTML記述について
サンプル用HTML(frmail_smp.html)のform部分の記述と下記の記述例を参考にフォームを作成して下さい。
★★★ 一般的なHTML記述内容 ★★★
<form action=CGIパス method=post target=_blank>
<input type=hidden name=_item value=*項目名1,項目名2,・・・>
<input type=hidden name=_type value=1>
項目名称1:<input type=text size=30 name=項目名1>
項目名称2:<input type=text size=30 name=項目名2>
・
・
控えをとる:<input type=checkbox name=_copy>控え送信時はチェック
送信前確認:<input type=radio name=_mode value=check checked>確認する
<input type=radio name=_mode value=send>そのまま送信
<input type=submit value=" 実 行 ">
<input type=reset value="リセット">
</form>
◆ メール送信フォーマットについて
メール送信フォーマット(frmail_fmt.txt)は、下記の書式で記述して下さい。
- 1行目に「subject : 」に続き、メールのタイトルを記述。
- 2行目以降に、メールの本文を記述。入力データに置き換える箇所には、%入力項目名%
もしくは %mail_body%(全入力データ一括置換)を記述して下さい。
★★★ メール送信フォーマット記述例 ★★★
1行目 subject : ご登録ありがとうございます。
2行目以降 %お名前% 様、 (←フォーム入力項目の「お名前」のデータに変換)
ご登録ありがとうございます。
□□□□□□□□□□□□□□□□□□□□□□□□
%mail_body% (←フォーム入力項目のすべてのデータに変換)
□□□□□□□□□□□□□□□□□□□□□□□□
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
サイト名
http://www.xxxxxx.com/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
◆ HTMLテンプレートの記述内容について
- 基本は通常のHTMLです。
- <!---- %ブロックID% ----->から次の<!---- %ブロックID% -----> までの間が、
出力制御を行う為の各ブロック内容を表しています。
- 通常の確認画面での出力ブロックは、
HEAD → CHECK_HEAD → CHECK_BODY →
CHECK_FOOT → FOOT
の順に出力されます。
ただし、CHECK_BODYだけは、入力項目数分だけ繰り返し出力されます。
また、送信画面では、ブロックIDのCHECKの箇所をSENDで置き換えたブロックが出力されます。
- エラー時の出力ブロックは、
HEAD → ERRMSG → FOOT
の順に出力されます。
- ブロック内では簡単な条件文が使用可能で、基本は下記のような書式になります。
<!---- %IF(条件式1)% ------->
・(条件式1が真の場合に出力するHTML)
<!---- %ELSF(条件式2)% ----> ※省略可
・(条件式2が真の場合に出力するHTML)
<!---- %ELSE% ------------->
・(条件式1,2ともに成り立たなかった場合に出力するHTML)
<!---- %ENDIF% ------------->
なお、条件式はPerlとほぼ同様ですが、&& → and、|| → or で記述して下さい。
また、スクリプト内の一部の変数が使用でき、使用する場合は、条件式内に%変数名%で記述します。
◆ 更新履歴
- 2003/08/01 Ver 1.10 エラーメッセージ出力時のバグ修正
- 2003/07/06 Ver 1.00 配布開始