有限会社ウェブスリー・ラボ


Cgiemail
The cgiemail user guide


1. 機能

Cgiemailはフォーム・メールとは別のプログラムです。ウェブページ上にテキスト・ボックスやチェック・ボックスを作成し、必要事項を記入してもらった上で指定先へメール送信する C言語によって書かれたプログラムです。
テキストファイルを作成し、電子メールメッセージをフォーマットします。
Cgiemailを呼ぶためには HTMLの中で以下の様に指定します。

サンプル HTMLフォーム
Your e-mail address:
Your name:
Your quest:
Your favourite colour:
サンプル HTMLコード

<FORM METHOD="POST" ACTION="/cgi-bin/cgiemail/order.txt">
<INPUT TYPE="HIDDEN" name="success" value="http://yourdomain.com/">
<INPUT TYPE="HIDDEN" name="required-to" value="yurname@yourdomain.com">
<INPUT TYPE="HIDDEN" name="subject" value="Order form">
Your e-mail address: <INPUT NAME="email">
Your name: <INPUT NAME="yourname">
Your quest: <INPUT NAME="quest">
Your favourite colour: <INPUT NAME="colour">
<INPUT TYPE="submit" value="Send e-mail">
</FORM>

2. 設定

2-1 order.htm

あなたの wwwディレクトリ上に order.htmファイルが設定してあります。これは Cgiemailを利用するために、どのようにフォームを設定配置すればよいかの見本です。
この order.htmファイル上のフォームは、サーバーに送られるデータをキーと値のペアとしてユーザーに入力要求するためのものです。
個々の <input> タグでキーと値を指定します。name属性に指定したものがキーとなり、ユーザー入力内容が対応する値となります。 type属性では、どんな種類のデータを入力するかを指定します。
また、ユーザー入力が成功したときに返す url(success)、入力内容を送るべき人(required-to)、フォームの主題を指定(subject)するために HIDDEN属性が用いられます。
その後に、実際ユーザーに示すアイテムを指定します。個々のインプットタグにおいて name=something は必ず必要となります。
もしフィールド名を required-で始れば、cgiemailはユーザー入力を必ず必要とします。
ユーザーが Submit buttonを押すと、以下の order.txtファイルに設定された内容で処理が実行されます。
HTMLフォーム名は好きなように付けることができます。


2-2 order.txt

order.txtは Cgiemailプログラムによって読み込まれ、ユーザー入力内容等を該当個所に代入し、メールシステムに手渡されます。
見本の order.txtが wwwディレクトリ上に設定してあります。ファイル名は好きなように付けることができます。

order.txtの最初の数行はメールヘッダーです。なお、ヘッダー部分は日本語に対応していないので、ローマ字を使うようにした方が良いでしょう。
ヘッダーには、Bcc:,Cc:等を含めることが出来ます。ヘッダー部分とボディー部分との間にブランクラインを設ける必要があります。

Cgiemailはユーザーが入力した値を、[キー]で指定した場所に代入します。あとは好きなようにレイアウトすることができます。

サンプルテキストファイル

    From: [email]                              HEADER LINES
    To: [required-to]
    Reply-to:[email]
    Subject: [subject]
                                               blank line
    Your name:?              [yourname]
    Your quest:?             [quest]           BODY
    Your favourite colour:?  [colour]

ブラウザーのバックボタンでヘルプ・ファイルのメニューにお戻りください。