[CGI・SSI] フォームメール
弊社でご用意しているフォームメールのご利用方法です。
現在の最新バージョンは2.2.1です。(2015/08/31公開)
Version 2の新機能
Version 2では以下の点について改良が行われました。
- 必須入力項目とメールアドレス入力項目の設定が出来る様になりました。
- 項目名や項目の順番を任意に設定出来る様になりました。
- メールが送信される前に入力内容確認画面を表示させる事が出来る様になりました。
設置方法
フォームメールをご利用頂くには、以下の手順で設置を行って頂く必要がございます。
- 管理ツールのADMIN MANAGERにアクセスして、サンプルCGIのダウンロードから フォームメールのファイル(formmail2.lzh)をダウンロードして下さい。 ADMIN MANAGERへのアクセス方法がご不明な場合は オンラインマニュアル - [管理ツール] ADMIN MANAGERをご参照下さい。
- ダウンロードしたformmail2.lzhを解凍して下さい。ファイルはLZH形式で圧縮されていますので、 LZH形式の圧縮ファイルを解凍出来る解凍ソフトをご利用下さい。
ファイルを解凍すると、以下のファイルが生成されます。
formmail.cgi フォームメールのCGIスクリプトファイルです。 formcfg.txt フォームメールの動作を設定するための設定ファイルです。 formmail.html 入力画面のサンプルHTMLファイルです。 formchk.html 入力内容確認画面のサンプルHTMLファイルです。 formerr.html エラー画面のサンプルHTMLファイルです。 formthx.html メール送信後に表示される画面のサンプルHTMLファイルです。 - formcfg.txtをテキストエディターで開き、 1行目・2行目にある以下の2行に書かれているadmin@**.st*.arena.ne.jp またはadmin@**.ws*.arena.ne.jpの部分を フォームから送信されるメールの宛先となるメールアドレス(お客様のメールアドレス)に変更して下さい。
[st**.arena.ne.jpをご利用のお客様の場合] $MAIL_SENDER = 'admin@**.st*.arena.ne.jp'; $MAIL_TO = 'admin@**.st*.arena.ne.jp'; [ws**.arena.ne.jpをご利用のお客様の場合] $MAIL_SENDER = 'admin@**.ws*.arena.ne.jp'; $MAIL_TO = 'admin@**.ws*.arena.ne.jp';
- formmail.cgiをテキストエディターで開き、5行目にある $USE_OTHER_CONFIG_FILE = 1;を$USE_OTHER_CONFIG_FILE = 0;に 変更して下さい。
$USE_OTHER_CONFIG_FILE = 1; から $USE_OTHER_CONFIG_FILE = 0; に変更
- 管理者用アカウント(admin) を使用してサーバーにFTP接続を行い、ファイルを転送して下さい。 formmail.cgiとformcfg.txtは/cgi-binディレクトリへ、 その他のファイルは/homeディレクトリへ転送して下さい。 なお、formmail.cgiは必ずFTPソフトの転送モードをアスキーモードに設定して転送して下さい。 バイナリーモードで転送すると、正常に動作しません。
- formmail.cgiのパーミッションを700(rwx------)、 formcfg.txtのパーミッションを600(rw-------)に設定して下さい。
- パーミッションについてよく分からない場合は、オンラインマニュアル - [ファイル転送] パーミッション をご参照下さい。
- 各FTPソフトのパーミッション設定方法についてはオンラインマニュアル - [ファイル転送] FTPソフトの設定 の「各ソフトの設定方法」に いくつかのFTPソフトの具体的な設定例がございますので、そちらをご参照下さい。
- ブラウザでhttp://(ドメイン名またはIPアドレス)/formmail.htmlを開き、 フォームメールが動作している事をご確認下さい。
任意のHTMLファイルにフォームメールを設置する方法
formmail.html以外のHTMLファイルにフォームメールを設置する場合は、 HTMLファイルに以下の形式で<FORM>タグを記述して下さい。
<FORM METHOD="POST" ACTION="/cgi-bin/formmail.cgi"> <INPUT TYPE="text" NAME="項目1"> <INPUT TYPE="text" NAME="項目2"> <TEXTAREA NAME="項目3"></TEXTAREA> ・ ・ ・ <INPUT TYPE="submit"><INPUT TYPE="reset"> </FORM>
formmail.cgiは<FORM>タグの中にあるすべての入力フォームタグ(<INPUT>・<TEXTAREA>など)の入力内容を読み取り、 その内容をメールで送信します。<FORM>タグをいくつも記述してしまうと内容が正しく送信されませんので、<FORM>タグは 1つだけ記述し、その中にすべての入力フォームタグを記述して下さい。
入力フォームタグの記述方法がご不明な場合は、サンプルのformmail.htmlの内容を参考にして記述して頂くか、 HTMLの書式について解説されている書籍などをご参照下さい。
入力項目のカスタマイズ
入力項目は、以下の点をカスタマイズする事が出来ます。
- 項目の並び順
- 項目名の設定
- 必須入力項目の設定
- メールアドレス入力項目の設定
それぞれのカスタマイズ方法は以下の通りです。
項目の並び順
送信されて来るメールや、入力内容確認画面で表示される項目の並び順を任意の順番に変更する場合は、 1つ目の入力フォームタグのNAMEオプションをa、 2つめの入力フォームタグのNAMEオプションをb、 3つめの入力フォームタグのNAMEオプションをc・・・の様に、 入力フォームタグのNAMEオプションをアルファベットで指定して下さい。
入力した内容がメールの本文に書かれる順番は、HTMLファイル内での入力フォームタグの順番ではなく、 各入力フォームタグのNAMEオプションをキーとしたアルファベット順に並べ替えられます。 上記の様にNAMEオプションを記述して頂く事により、メールの本文に書かれる順番を制御する事が出来ます。
ただし、このままでは項目名が入力フォームタグのNAMEオプションに書かれている内容(a・b・c・・・)になってしまいます。 項目名を任意に指定したい場合は、 項目名の設定に書かれてい る方法で項目名の指定を行って下さい。
項目名の設定
送信されて来るメールや、入力内容確認画面で表示される項目名を任意の名前に変更する場合は、 入力画面となるHTMLファイルの<FORM>タグの内側に以下のタグを記述して下さい。
<INPUT TYPE="hidden" NAME="OPT:JPNAME:[NAME]" VALUE="[項目名]">
[NAME]の部分は項目名を変更する入力フォームタグに書かれているNAMEオプションの値に置き換えて下さい。 [項目名]の部分は変更する項目名に置き換えて下さい。
例えば、<INPUT TYPE="text" NAME="abc">という入力フォームタグの項目名を お名前に設定する場合はこの入力フォームタグとは別に、以下のタグを記述します。
<INPUT TYPE="hidden" NAME="OPT:MAILADDRESS:abc" VALUE="メールアドレス">
メールアドレス入力項目に正しいメールアドレスの形式で文字が入力されていなかった場合、 エラー画面(formerr.html)が表示される様になります。
必須入力項目の設定
特定の項目を必須入力項目(必ず入力しなければならない項目)に設定する場合は、 入力画面となるHTMLファイルの<FORM>タグの内側に以下のタグを記述して下さい。
<INPUT TYPE="hidden" NAME="OPT:NEED:[NAME]" VALUE="[項目名]">
[NAME]の部分は入力フォームタグに書かれているNAMEオプションの値に置き換えて下さい。 必須入力項目に設定した場合、あわせて項目名の変更を行う事が出来ますので、 [項目名]の部分は変更する項目名に置き換えて下さい。
例えば、<INPUT TYPE="text" NAME="abc">というタグを必須入力項目にして、 項目名をお名前に設定する場合はこのタグに加えて以下のタグを記述します。
<INPUT TYPE="hidden" NAME="OPT:NEED:abc" VALUE="お名前">
必須入力項目に何も入力されていなかった場合、エラー画面(formerr.html)が表示される様になります。
メールアドレス入力項目の設定
特定の項目をメールアドレス入力項目(メールアドレスを入力しなければならない項目)に設定する場合は、 入力画面となるHTMLファイルの<FORM>タグの内側に以下のタグを記述して下さい。
<INPUT TYPE="hidden" NAME="OPT:MAILADDRESS:[NAME]" VALUE="[項目名]">
[NAME]の部分は入力フォームタグに書かれているNAMEオプションの値に置き換えて下さい。 メールアドレス入力項目に設定した場合、あわせて項目名の変更を行う事が出来ますので、 [項目名]の部分は変更する項目名に置き換えて下さい。 例えば、<INPUT TYPE="text" NAME="abc">というタグをメールアドレス入力項目にして、 項目名をメールアドレスに設定する場合はこのタグに加えて以下のタグを記述します。
<INPUT TYPE="hidden" NAME="OPT:MAILADDRESS:abc" VALUE="メールアドレス">
メールアドレス入力項目に正しいメールアドレスの形式で文字が入力されていなかった場合、 エラー画面(formerr.html)が表示される様になります。
動作のカスタマイズ
以下の点について、フォームメールCGIの動作をカスタマイズする事が出来ます。
- 入力内容確認画面を表示する機能の使用/不使用
- 入力項目のカスタマイズを行う機能の使用/不使用
初期状態ではすべての機能を使用する設定になっていますので、これらの機能を使用するために設定を変更する必要はございません。 上記の機能を不使用にしたい場合のみ、 以下の方法で設定を行って下さい。
入力内容確認画面を表示する機能の使用/不使用
入力内容確認画面を表示する機能を不使用にする場合は、以下の様にformcfg.txtに書かれている $OPT_USE_CONFIRMの値を0に書き換えて下さい。 $OPT_USE_CONFIRMの値が0以外(通常は1)になっている場合に入力内容確認画面を表示する機能が働く様になっています。
$OPT_USE_CONFIRM = 0;
入力項目のカスタマイズを行う機能の使用/不使用
入力項目のカスタマイズを行う機能を表示する機能を不使用にする場合は、以下の様にformcfg.txtに書かれている $OPT_CHECK_VALUEの値を0に書き換えて下さい。 $OPT_CHECK_VALUEの値が0以外(通常は1)になっ ている場合に入力項目のカスタマイズを行う機能が働く様になっています。
$OPT_USE_CONFIRM = 0;
複数のフォームメールを設置する方法
複数のフォームメールを設置する場合は、1つ目のフォームメールを通常と同様の方法で設置した上で、 以下の手順で2つ目のフォームメールの設置を行って下さい。
- formmail.cgi、formcfg.txt、formmail.html、formchk.html、formerr.html、formthx.html をコピーして、別の名前で保存して下さい。 (以下の説明はformmail2.cgiとformcfg2.txt、formmail2.html、formchk2.html、formerr2.html、formthx2.html という名前にしたものと仮定して行います。)
- formcfg2.txtをテキストエディタで開き、1つ目のフォームメールと同様に 1行目・2行目に書かれているadmin@**.st*.arena.ne.jpまたはadmin@**.ws*.arena.ne.jp の部分を フォームから送信されるメールの宛先となるメールアドレス(お客様のメールアドレス)に変更して下さい。 また、10行目から12行目の formthx.html、formchk.html、formerr.html をそれぞれformthx2.html、formchk2.html、formerr2.htmlに変更して下さい。
- formmail2.cgi をテキストエディタで開き、上から4行目にある formcfg.txt をformcfg2.txtに変更して下さい。
<INPUT TYPE="hidden" NAME="_CONFIG_FILE" VALUE="formcfg2.txt">
formcfg2.txtの部分はお客様が付けた設定ファイルのファイル名にして下さい。
- 2つ目のフォームメールの入力画面となるHTMLファイル(formmail2.html)と、 入力確認画面となるHTML(formchk2.html)を開き、以下の箇所を
<FORM METHOD="POST" ACTION="/cgi-bin/formmail.cgi"> から <FORM METHOD="POST" ACTION="/cgi-bin/formmail2.cgi"> に変更して下さい。
- 管理者用アカウント(admin)を使用してサーバーにFTP接続を行い、ファイルを転送して下さい。 formmail2.cgi と formcfg2.txt は/cgi-binディレクトリに転送し、 formmail2.cgiは パーミッションを700(rwx------)に、formcfg2.txtは パーミッションを600(rw-------) に設定して下さい。 2つ目のフォームメールの入力画面となるHTMLファイル(formmail2.html、formchk2.html、formerr2.html、formthx2.html)は/homeディレクトリ内に転送して下さい。
- ブラウザで2つ目のフォームメールの入力画面となるHTMLファイルを開き、フォームメールが動作している事をご確認下さい。
以上で2つ目のフォームメールの設置は完了です。 さらに多くのフォームメールをご使用になる場合も、上記の様に設定ファイルの名前を変えて頂ければご利用頂く事が出来ます。
バージョンアップ方法
ファイルの構成が大幅に変わっているため、旧バージョンのフォームメールをお使いのお客様も設置方法に書かれている手順で新規に設置する場合と同じ様に設置を行って下さい。 以前のバージョンのファイルは新しいファイルで上書きして下さい。
設置が完了しましたら、新しいバージョンでは使われなくなったcgi-lib.plとthanks.htmlをサーバーから削除して下さい。
更新履歴
バージョンアップの履歴です。
バージョン | 公開日 | 更新内容 |
---|---|---|
1.0 | 1999年10月14日 | - |
2.0 | 2000年4月12日 | 必須入力項目とメールアドレス入力項目の設定機能を追加しました。 項目名・項目の順番を任意に設定する機能を追加しました。 入力内容確認画面の表示機能を追加しました。 複数のフォームメールの設置に対応しました。 |
2.1 | 2000年4月26日 | Macintosh版のInternet Explorerを使用してフォームの入力を行った時に、エラー画面が表示されている状態で再読み込みを行うと そのままメールが送信出来てしまう不具合を修正しました。 複数のフォームメールを設置し入力確認画面を表示させる設定にしている時に、 設定ファイルの一部が正しく読み込まれない不具合を修正しました。 |
2.2 | 2000年7月18日 | <TEXTAREA>タグ内で任意の位置に改行を入れて送信出来る様になりました。 |
2.2.1 | 2015年8月31日 | クロスサイトスクリプティングの脆弱性を修正しました。 |