フォーム形式でのメール送信方法


このスクリプトは WWWフォームから e-mail への橋渡しをします。

フォームの構成

フォームのアクションでこのスクリプトを指定します。方式 POST を大文字で指定します。

<form action="/cgi-bin/common/fmail3.cgi" method="POST">

次に使用するフィールドとそれをどのように指定するかを説明します。


必須フィールド

最低限フォームに含めなければならないフィールドは「受取人」です。

recipient

このフィールドはフォームの入力内容を誰にメールするか指定するものです。大抵の場合、自分自身の e-mailアドレスを「隠しフィールド」指定することになるでしょう。

<input type=hidden name="recipient" value="myaddress@mmy.ne.jp">


オプションフィールド

subject

フォーム記入後送信される e-mail のサブジェクト(標題)を指定します。このオプションを指定しない場合、サブジェクトは既定値「Feedback From Your WWW Form」となります。

<input type=hidden name="subject" value="Comment on your homepage">

ユーザーに入力させるときは例えば <input type=text name="subject">

ラジオボタンやリストボックスを使ってユーザーに選択させるのもよいでしょう。


email

ユーザーの e-mailアドレスです。返信を出したい場合は含めます。指定すると、受け取る e-mailの From欄に設定されます。

<input type=text name="email">

これがないと nobody からのメールとなります。


realname

本名を入力してもらいます。
特にこだわらないのであれば、「ハンドルネームもOKです」といった補足説明をいれるのもいいでしょう。

<input type=text name="realname">

本来これは受け取る e-mailの From欄に設定されるのですが、日本語を入力すると文字化けするので、本文の先頭に出力するようにしてあります。


redirect

送信ボタンをクリック後、ジャンプさせたいページの URL を指定します。これがない場合は既定のページを表示します。

<input type=hidden name="redirect" value="/mydir/thankyou.html">


required

必須入力フィールドの指定です。必須入力フィールドを入力せず送信ボタンを押した場合、エラーを知らせるページを表示し、再入力するよう促します。

<input type=hidden name="required" value="email,tel">

この例では email と tel というフィールドを必須入力指定しています。


env_report

受け取るメールに環境変数を含めます。ユーザーがどのブラウザを使っているか、どのドメインから眺めているのかなどを知るのに役立ちます。次に有用だと思われる環境変数の一覧を示します。

REMOTE_HOST - リクエストを発行したホスト(マシンに付けられている名称)

REMOTE_ADDR - そのIPアドレス

REMOTE_USER - ユーザー名、ただし設定されていないことが多い

HTTP_USER_AGENT - ユーザーが使用したブラウザ

<input type=hidden name="env_report" value="REMOTE_HOST,HTTP_USER_AGENT">

この例ではホストとブラウザの情報を指定しています。


sort

返送される e-mailに記述される順番を指定します。アルファベット順か、指定フィールド順を指定できます。これが指定されていない場合、単にブラウザが出力する順番となります。これはフォーム上の順番に一致するとは限りません。指定フィールド順にする場合は order: と書いてからフィールド名をカンマで区切って並べます。

abc順に並べ替えるならば  <input type=hidden name="sort" value="alphabetic">

フィールドを指定して     <input type=hidden name="sort" value="order:realname,email,tel,fax,etc...">


print_config

オプションフィールドの入力内容をメールの本文に設定させたいときに指定します。設定させたいオプションフィールド名をカンマで区切って並べます。

<input type=hidden name="print_config" value="email,subject">

この例では email と subject がメール本文にも表示されます。


title

redirect が指定されていないとき返答表示されるフォームのタイトルを指定します。これがなければ既定のタイトルが表示されます。

<input type=hidden name="title" value="Thank you Filling out the Form">

この例ではタイトルに "Thank you Filling out the Form" と表示します。


return_link_url

返答表示されるフォームの最下行のリンクの URLを指定します。次のreturn_link_title と合わせて使用します。

<input type=hidden name="return_link_url" value="/mydir/home.html">

return_link_title

上の return_link_title と合わせて返答表示されるページに
<ul><li><a href="return_link_url">return_link_title</a></ul>として表示されます。

<input type=hidden name="return_link_title" value="ホームページに戻る">

これらが設定されていないときは Universe Net のトップページに戻るリンクが設定されます。


background

redirect が指定されていないとき返答表示されるフォームの背景イメージを指定します。

<input type=hidden name="background" value="/mydir/image/background.gif">


bgcolor

redirect が指定されていない場合に返答表示されるフォームの背景色を指定します(16進指定)。

白にするならば <input type=hidden name="bgcolor" value="#FFFFFF">


text_color

これはテキストの色を変えます(16進指定)。

黒にするならば <input type=hidden name="text_color" value="#000000">


次の3つは redirect が指定されていないとき返答表示されるフォームのリンクの色の指定です(16進指定)。

link_color

通常のリンクの色を指定します。

赤にするならば <input type=hidden name="link_color" value="#FF0000">

vlink_color

訪問したことのあるリンクの色を指定します。

青にするならば <input type=hidden name="vlink_color" value="#0000FF">

alink_color

アクティブなリンクの色を指定します(16進指定)。link_colorと同じです。

青にするならば <input type=hidden name="alink_color" value="#0000FF">

これらは redirect を設定した場合は設定しないでください。


ユーザー定義フィールド

その他 e-mailで返答を得るためのフィールドを自由に設定することができます。


使用例は以下を参照してソースをご覧ください。

FormMail Demo


Scripts Found at: http://www.worldwidemart.com/scripts/
FormMail : Copyright 1996 Matt Wright <mattw@misha.net>


mmyへ戻る