CGI・SSI~フォームメール
特徴
TikiTikiホスティングサービスでご用意しているフォームメールは、
- 必須入力項目とメールアドレス入力項目の設定ができます。
- 項目名や項目の順番を任意に設定できます。
- メールが送信される前に入力内容確認画面を表示させることができます。
- 複数のフォームメールの設置に対応しています。
設置方法
フォームメールをご利用いただくには、以下の手順で設置を行ってください。
-
管理ツールの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@**.rs*.tiki.ne.jp の部分をフォームから送信されるメールの宛先となるメールアドレス(お客様のメールアドレス)に変更してください。
$MAIL_SENDER = 'admin@**.rs*.tiki.ne.jp';
$MAIL_TO = 'admin@**.rs*.tiki.ne.jp'; - 管理者用アカウント(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:JPNAME:abc" VALUE="お名前">
なお、必須入力項目やメールアドレス入力項目の項目名を変更する場合は上記の方法ではなく、後述の必須入力項目・メールアドレス入力項目の解説に記載されている方法で項目名を設定してください。
必須入力項目の設定
特定の項目を必須入力項目(必ず入力しなければならない項目)に設定する場合は、 入力画面となる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_CHECK_VALUE = 0;
複数のフォームメールを使用する機能の使用/不使用
複数のフォームメールを使用する機能を不使用にする場合は、以下のように formmail.cgi に書かれている $USE_OTHER_CONFIG_FILE の値を 0 に書き換えてください。 $USE_OTHER_CONFIG_FILE の値が 0 以外(通常は1)になっている場合に複数のフォームメールを使用する機能が働きます。
$USE_OTHER_CONFIG_FILE = 0;
複数のフォームメールを設置する方法
複数のフォームメールを設置する場合は、1つ目のフォームメールを通常と同様の方法で設置した上で、以下の手順で2つ目のフォームメールの設置を行ってください。
- formcfg.txt をコピーして、別の名前で保存してください。(以下の説明は formcfg2.txt という名前にしたものと仮定して行います。)
- formcfg2.txt をテキストエディタで開き、1つ目のフォームメールと同様に 1行目・2行目に書かれている admin@**.rs*.tiki.ne.jp の部分を フォームから送信されるメールの宛先となるメールアドレス(お客様のメールアドレス)に変更してください。
-
2つ目のフォームメールの入力画面となるHTMLファイルの<FORM>タグの内側に以下のタグを記述してください。
<INPUT TYPE="hidden" NAME="_CONFIG_FILE" VALUE="formcfg2.txt">
- 管理者用アカウント(admin)を使用してサーバにFTP接続を行い、ファイルを転送してください。formcfg2.txt は /cgi-bin ディレクトリに転送し、パーミッションを 600(rw-------) に設定してください。2つ目のフォームメールの入力画面となるHTMLファイルは /home ディレクトリ内の任意のディレクトリに転送してください。
- ブラウザで2つ目のフォームメールの入力画面となるHTMLファイルを開き、フォームメールが動作していることを確認してください。以上で2つ目のフォームメールの設置は完了です。さらに多くのフォームメールをご使用になる場合も、上記のように設定ファイルの名前を変えていただければご利用いただくことができます。