marumail...@ノ”

概要

 marumai...@ノ”はありがちな(^^;)定型メール投稿CGIです。アンケ−トや注文受け付けツールとして利用することができます。 また、受信メールアドレスを公開する必要がないので、ホームページに公開しているメールアドレス宛に届く迷惑メールに悩む方にもご利用頂けます。 marumail...@ノ”の特徴はCGIをいじらなくても、htmlの編集だけで項目の変更・追加が可能な点です。 また一度CGIを設置してしまえば、後はhtmlを増やすだけで複数の投稿フォームを併用することが できます。添付のサンプルをいじって色々試してみてください。

動作環境

設置方法

 一般的なCGIの設置方法と同様で特別なことはありません。具体的な方法は各プロバイダの説明を参照ください。

 設置サーバへの転送はアスキーモードで行なってください。  パーミション(属性)の設定は以下のとおりです。

ファイル名パーミション(属性)
jcode.pl644[-rw-r--r--]
marumail.cgi755[-rwxr-xr-x]
投稿フォーム.html644[-rw-r--r--]

jcode.plとmarumail.cgiは同じディレクトリに置いてください。 投稿フォーム.htmlは、投稿フォームを記述したhtmlで 実際のファイル名は任意です。サンプルとしてtest.htmlを同封しています。
尚、投稿フォームをcgi と別のディレクトリに置く場合は、投稿フォーム 内の <form action="marumail.cgi" method="POST">の青字の部分をhttpからはじまるフルパスに変更してください。

cgiの編集

青字の部分を、赤字のコメントに従って修正してください。
#!/usr/local/bin/perl←プロバイダで指定されるperlのパスに変更します。
#
# 簡易メール送信CGI marumail ...@ノ”
# with perl5 & jcode.pl
# by O.K.U. (oku@olive.plala.or.jp)
#
# ライセンス条件についてはこのファイルの最後をご覧下さい。
# 本プログラムは無保証です。利用した結果に関し一切の責任を負いません。

require 'jcode.pl';

## 設定データ (使用環境にあわせて設定して下さい)

# sendmail送信コマンド
$MAILPATH = '/usr/lib/sendmail';
                ↑プロバイダで指定されるsendmailのパスに変更します。

# メールの宛て先アドレス
$TOADDR = 'hoge@page';
                ↑メールの送り先に変更します。

# 確認メールを入力者に返信する場合は 1 に変更してください
$SENDACK = 0;
          ↑確認メールを入力者に返信したい場合のみ、1に変更します。

# 確認メールに使用するFROMアドレス、指定しないと $TOADDRが使用されます。
$ACKFROMADDR = '';
               ↑確認メールを入力者に返信する場合で、$TOADDRと違ったFROMアドレスにしたい場合のみ指定します。

## 設定データここまで

htmlの編集

<form action="marumail.cgi" method="POST">から</form>の間に メールとして送信するデータを以下に示すようなタグを使って設定します。

<input type="hidden" name="データの名前" value="データの値"> 隠しデータです。ユーザに入力させずに固定のデータをメールに追加したい場合に用います。
<input type="text" name="データの名前" size="表示入力文字数" maxlength="最大入力文字数"> 1行の入力フォームです。入力されたデータがメールで送られます。
<textarea name="データの名前" rows="表示行数" cols="表示桁数"></textarea> 複数行の入力フォームです。入力されたデータがメールで送られます。
<select name="データの名前"> <option value="データの値">データの説明</option>・・・</select> 選択式の入力フォームです。選択されたデータがメールで送られます。
その他、radioボタンなどももちろん使用できます。

固定データ

 データの名前が以下のものは特別な意味を持ちます。ここの入力はメールの本文以外で使用されます。

データの名前説明
SUBJECTメールの件名(Subject:)です。
DONEMSGメール送信完了後に出力するメッセージです。省略した場合「送信しました。」とだけ表示されます。これは通常隠しデータ"hidden"で送信します。
FROMADDR送信者のメールアドレス(From:)です。後で説明するFROMADDRCKの値をIGNOREに設定しない場合、必ず設ける必要があります。
FROMADDR2送信者のメールアドレス(From:)の確認です。後で説明するFROMADDRCKがCOMPAREの場合にのみ意味を持ちます。
FROMADDRCK送信者のアドレス(From:)のチェック方法を指定します。データの値にIGNOREを指定するとメールアドレスのチェックを行ないません。すなわち匿名でのメール投稿が可能になります。FROMADDRCKがCOMPAREの場合はFROMADDRとFROMADDR2の入力が同じかの確認を行ないます。NEEDを指定するとメールアドレスの入力は必須、但しFROMADDR2とのチェックは行なわなくなります。省略した場合はNEEDを指定したものとして扱われます。これは通常隠しデータ"hidden"で送信します。
NEXTURL送信完了後に移動するページのURLです。これは通常隠しデータ"hidden"で送信します。
FROMNAMEここで入力した値が差出人名(From:のコメント)として使用されます。使用しない場合、差出人名は単なるメールアドレスとなります。Ver1.1で追加されました。
ACKHEADMSG確認メッセージを送信する場合、本文の先頭にここで指定したメッセージが追加されます。これは通常隠しデータ"hidden"で送信します。Ver1.2で追加されました。

任意データ

 上記以外のデータは任意に設定できます。ここで入力したデータがメールの本文で使用されます。

 任意データのデータ名は先頭に[番号+o又はn]を付加してください。 番号の若い順に並び替えてメールの本文を作成します。番号に続く1文字のアルファベットは入力必須ならば"n"を、そうでなければ"o"を指定します。メールにはこの[]で 囲まれた部分は送信しません。

例:
<textarea name="[05n]感想" rows="10" cols="80" wrap="VIRTUAL"></textarea>

 ここの説明を見ると難しく思うかもしれませんが、まずは貼付のtest.htmlそのままの状態で動作確認を行ない、うまくいったら後はそれを少しずついじりながら、色々試してみてください。

 検索サイトで"marumail"と"CGI"のAND検索を行ない、実際に使われているフォームを見つけ出して参考にするのも、いいかと思います。また、利用にあたってはフォームのどこかに CGI: marumai...@ノ となるべく表記してください。

著作権

 本CGIが利用する jcode.pl の著作権は Kazumasa Utashiro氏にあります。
 jcode.pl を除く各配布ファイルの著作権はO.K.U.にあります。本スクリプトは、自ら使用する目的にあっては、個人・団体(会社含む)を問わずフリーです。但し、第三者に利用させて対価をとるような形式についてはE-mailで問い合わせ下さい。また個人レベル(個人からその友人など特定少数の配布)を除く、再配布(雑誌への掲載等)についてもE-mailで問い合わせ下さい。

免責事項

 本スクリプトを使用した結果生じたあらゆる問題について、作者である O.K.U. は何ら保証致しません。すべて自己責任でお願いします。

最新版の配布

 本スクリプトの最新版は(株)vectorよりお借りしている作者ページの中で公開しています。

改版履歴

1.0版、1.1版又は1.2版をお使いの方で、新規追加の機能が不要な場合、CGIを更新する必要はありません

1.3版(current)
  • TLAS(Turbolinux Appliance Server)でも動作するようsendmailのオプションを変更しました。
1.2版(2004/03/20)
  • 同じ name に対しての checkbox の入力に対応しました。
  • 入力者に対して確認メールを送信する機能を追加しました。
1.1版(2003/11/12)
  • 差出人(ヘッダFROM行のコメント)を入力可能にしました。
1.0版(2002.05.25)
  • 初版

最後に

 最後になりましたが、jcode.plの開発者であるKazumasa Utashiro氏に感謝します。

 1.3版(TLAS対応)版については、以下の会社の方々にご協力を頂きました。ありがとうございます。

 ついでに、本スクリプトを作れと命令したの作成の機会を与えてくれた「まるる」に感謝しとこう(笑)。marumail...@ノ”のカタツムリは、まるるのアイデアです(笑)。

 E-mailで、どこで使用しているかの報告や、要望、あるいはバグの指摘等をレポートして頂けれると嬉しいです(義務ではありません)。質問や感想も歓迎します。但し回答できない場合もございますので、予め、ご了承ください。サンプルとなるHTMLの寄贈も大歓迎です。

E-mail:oku@olive.plala.or.jp  Home Page:http://hp.vector.co.jp/authors/VA017405/