トップページ | 利用規定
  フォームメール(WebFORM)

カレッヂ
カレッヂ



重要な告知

スパムに対する脆弱性があるため、v4.3までをご利用の方は至急バージョンアップしてください。


特徴

  • WWWのフォームに記入された内容を電子メールするスクリプトです。
  • インターネットメール形式(jis7)で、日本語もデコードされたメールが届きます。
  • 漢字コードはjisに変換して送信されます。ユードラ等のメールソフトでは、 自動判別にすると化けることがあるようです。
  • 記入者のリモートホストやブラウザ情報も表示します。
  • 記入者が誰かを確認することはできません。なぜなら、WWWにアクセスされるのはすべて nobodyだからです。相手を確認するのは、記入者が自ら書き込むメールアドレスや名前ですから、 必ずしも本人かどうかは分かりません。モラルの問題でもあります。
  • 記入された内容を確認する画面が出ます。これを出さずに直接送信することも可能です。
  • 一般的なParse Formとは異なり、同じname項目があってもすべてデコードしてくれます。 (一般的なParse Formでは、複数のname=***があった場合その内容が、同じ変数***に格納される ために、最後にCGIに渡された項目しかデコードしません。)
  • CGIが使えるサーバで、かつ、「sendmail」がインストールされていなければ使用できません。 「sendmail」がどこにあるかは、シェルに入って見つけるか、プロバイダの管理者に聞いてください。

    % which sendmail
    /usr/lib/sendmail <-たとえばこのように表示される

    ※プロバイダによりSendmailの使い方が異なる場合があります。たとえば
    $sendmail ='/usr/sbin/sendmail -fユーザ名@ドメイン名';
    などさまざまです。プロバイダからの情報をご確認ください。


ダウンロード

webform44.zip (伸張&展開の仕方)

   ファイル [パーミッション]
   --------------------------------------------------------------------------------
   webform.cgi          [chmod 755]
   sample.html          [chmod 644]  (フォームの見本です)
   jcode.pl             [chmod 644]

  1. 設置場所は、CGIが使える場所であればどこでもOKです。
  2. まず、「.htaccess」でCGI「.cgi」が使えるようになっているかを確認します。
  3. 「#! /usr/local/bin/perl」の記述の設定を確認します。
  4. その他、webform.cgi中に初期設定があります。

●注意

サーバによってはsendmailの利用方法が異なる場合があります。このスクリプトでは…
open(OUT,"| $sendmail -t")
のように使っていますので、特別なオプションが必要な場合は、サーバ管理者の指示に従って書き換えてください。 なお、送信先メールアドレスは $mailto に、送信者が入力したメールアドレスは $email に、メールの題名は $subject という変数に格納されています。

困ったらサポート掲示板掲示板利用上の注意
●関連するページ 郵便番号検索サービス活用例 for 添付メール対応フォームメール
●関連するページ Webメール



利用方法

<form method="post" action="http://設置したURL/webform.cgi">
メールアドレス <input type="text" name="email">

  • 相手にメールアドレスを記入してもらう欄は name= を email または e-mail (大文字小文字は識別しません)にしてください。(必須)
  • その入力結果がデコードメールの「From:」に対応します。
  • 同封のsample.htmlもご参照ください。


オプション設定

以下に使われるラベル(name=で設定する名称)は予約語ですので、フォームを書く場合にはこれら以外の名称を使うなど、ご注意ください。

スパム防止機能を利用する(自動迷惑メールを防止) (v4.3〜)

画面に表示した単語、文章、文字列を入力させたり、それを画像にしたものを入力させる(目の不自由な方には対応できないことに留意)、または 質問の答えを書かせるなどして、このCGIの送信機能を悪用して自動で送信してくるスパムを、自動(ロボット)では処理できない段取りを挿入することにより防止する機能です。

<input type="text" name="spam_key">

のように、「name=」を「spam_key」にして入力した内容は、CGI内に設定したキーワードと「一致」(半角・全角・大文字・小文字などは区別される)しなければ送信しないという機能です。 これを設定しても、CGI内にキーワードを設定しない場合は設定エラーになります。キーワードを設定しても、フォームに設定しない場合は無視されます。

例:スパム防止のため、次の文字を書き写してください。→ 本日は晴天なり
例:スパム防止のため、次の答えを全角数字で記入してください。→ 2+3=?
例:スパム防止のため、次の答えを全角ひらがなで記入してください。→ 日本の首都はどこ?

送られてくるメールのタイトルを設定する

送られてくるメールはデフォルトで以下のようになっています。

Subject: (no subject)

これを自分の好きな題名に変更することができます。

<input type="hidden" name="subject" value="new_title">

のように、「name=」を「subject」にすれば、そのvalueがデコードメールの「Subject:」に対応します。また、 送信者にタイトルを書いてもらいたい場合は、type=textにします。

送信完了後に自分で作成したページを表示させたい

これを設定しておけば、送信完了時の「ありがとう」メッセージ等を自分の用意 したHTMLにすることができます。たとえば、あなたが自分のホームページ ディレクトリにthanks.htmlという「応募ありがとう」等のメッセージを書いた ページを準備したとすれば、送信完了後はそのページになるのです。

<input type="hidden" name="location" value="http://www.your.home.page/~your_id/thanks.html">

URLには < > " を含めることは出来ません。 設定しなければ、こちらで用意されたものを表示します。

こちらで用意した送信完了メッセージのページにリンクを入れる

送信が終わってもそれ以上ページを進めることができませんが、これを設定しておけば、好きな場所への リンクを表示することができます。上記のlocationが設定されている場合はこちらを 指定しても無視されます。

<input type="hidden" name="ref_name" value="ホームページへ戻る">
<input type="hidden" name="ref_url" value="http://www.rescue.ne.jp/~rescue/">

リンクを張りたいページのURLとそのタイトルを、必ず2行ペアで指定してください。なお、refとnameの 間にはアンダースラッシュがあります。ブラウザによっては見ずらいようなので、コピー&貼り付けすると いいでしょう。URLには < > " を含めることは出来ません。

確認画面に出したくない項目

hiddenオプションを使っても、確認画面で表示されてしまいます。とりあえず、 name="password"の場合のみ、表示をしない(もちろん、ソースをみれば わかってしまいますが)で、メール送信はされるようにしてあります。

<input type="password" name="password">

確認画面を出さずに直接送信したい場合

この一文を入れておけば、確認画面を表示しないでメール送信を行います。hiddenにしないで checkbox等を使って選択してもOK。要するに、name=no_checkをonにして渡せば いいのです。

<input type="hidden" name="no_check" value="on">

送信者にも内容のコピーを表示する

これを設定しておけば、送信後に送信した内容をコピーしやすい形で表示します。

<input type="checkbox" name="c_copy" value="on"> 送信内容のコピーを希望する場合はチェックしてください

type=checkboxにすれば送信者が選択でき、かならず表示するようにしたい場合は、type=hiddenにします。

空欄があれば送信しない

この一文を入れておけば、入力していない項目がひとつでもあれば送信されません。

<input type="hidden" name="space_check" value="on">


Powered by CGI RESCUE(R)