Sendmail System /UserSoft
ホームページからのデータをメール形式で指定メールアドレスへ送信する仲介システムです。
機能など
・HTML上のページから送信されたFORMデータをメールアドレスへ送信
・i-mode、J-phoneからのデータ送信も可能(Ezwebは未確認)
・複数ページのフォームからのデータを1CGIで処理
必要条件
・サーバがSendmail対応であること
コメント
サイトから訪問者に投稿してもらったメッセージを指定のE-mailアドレスに送信するCGIです。
本来はE-mailを公開すべきなのでしょうが、いらないメールまで大量に舞い込んできてうっとおしいですよね。
そこで、メールフォームの必要性が出てくるわけです。
ところで、このCGIは送る側のページ自体の生成は基本的に行いません。 (必要最小限のみ表示はいたしますが)
送る側のページは、パソコン用か携帯用か、またフォームの内容など、環境にあわせて ご自分で作成なさってください。
その際、一応簡単な決まりがありますので、以下のページで解説いたします。
まだ、内容的には簡単なものですが、以後拡張していくつもりでおります。
CGIの種類:ユーザソフト
この種類のCGIをご利用になるにはライセンスが必要です。
ライセンスを取得されていない方は、ライセンスを取得されますようお願いいたします。
(2002年3/31までは移行期間としてフリーソフトとしてご利用になれます)
利用規定:当サイト利用規定
ダウンロード:
ver1.0 正式版
ver1.1 β公開
利用規定に同意されたものとみなさせていただきます。
ファイル中身と対応パーミッション
sensys777/
sensys.cgi755 CGI本体
cgi-adr.pl644 補助CGI
cgi-lib.pl644 補助CGI
jcode.pl644 補助CGI
以上のファイルは必須
以上が、入っているファイルの一覧です。
必須ファイルはサーバへの転送が絶対に必要なものです。
パーミッションは、プロバイダで推奨値がある場合にはそちらに設定してください。
括弧内にバイナリと無いものはアスキー(テキスト)モードで転送。
設置テスト
Perlパスをサーバの指定値に合わせた後、
ファイル類を全てサーバへ転送してください。
パーミッションを変更後、
「sensys.cgi?v 」とブラウザにて入力してみてください。
バージョン情報欄がきちんと表示されればCGI自体の設置は成功しています。
本体のCGIの設定項目を変更後、正式の設置の作業等をおこなってください。
設定項目の一覧とその内容の説明
「CGIの名称」
CGIファイルの名前です。
デフォルトでは「sensys.cgi」となっています。
誤作動の原因となりますので、必ず正しいファイル名を記入してください。
「CGI設置サーバのディレクトリ」
CGIの設置場所です。
もっとも、CGIサーバとWWWサーバが別の場所の場合はWWWサーバの方をさします。
あなたのトップページのあるアドレスを指定すればよいでしょう。
例 http://www.ryulife.com/ http://www4.plala.or.jp/adrapage/ など。
このディクレトリの下位アドレス以外からのデータの投稿は
いたずら防止などの目的で排除されます。
「Sendmailのパス」
その名のとおりです。
/usr/lib/sendmail や /usr/sbin/sendmail が多いと思いますが、
わからない場合には、プロバイダやサーバの管理者に問い合わせてください。
「送り先メールアドレス」
メールの送る先のアドレスです。
送信者に対してこのアドレスが表示されることはございません。
「ライセンスの種類」
UserSoftに関しては、ご利用にあたってライセンスが必要です。
そのライセンスの登録情報を記入する欄です。
(注:移行期間につき、2002年3/31までは個人の非商用利用に限り、ライセンスは不要です)
「ユーザー情報」
スクリプトを利用される方の情報を記入する欄です。
管理者名や、E-mail、企業名などを必要に応じてご記入ください。
ここに記入された内容はバージョン情報のページにてご覧になれます。
ホームページへの組み込み方法
Sendmail Systemは、その名のとおり、フォームからの投稿内容をメールで送信する仲介をするCGIです。
フォーム自体はHTMLにて作成する必要があります。
複数のページからひとつのCGIでメールの送信でき、
メール中の表示内容も基本的には全てHTMLの方から制御できるのですが、
それに先立って一応の仕組みが存在します。
<form method=post action=sensys.cgi>
Name:<input type=text name=name><br>
Mail:<input type=text name=mail><br>
<br>
Title:<input type=text name=title><br>
Comment<textarea name=body></textarea><br>
<input type=submit value=送信>
さて、最も簡単な例です。
赤い文字に注目してください。
フォームからデータを送信する際には、必ずそのデータごとに名前をつけますが、
SendmailSystemでは、あからじめ名前の付け方が決められている項目があります。
ここの赤い文字もそうで、多少特別な役割をになっています。
たとえば、「title」と名前を付けたデータはメールの件名の欄にも表示されます。
逆に、必ずこの名前を付けないと、メールの件名欄に希望の入力値を表示させることはできません。
以下に、あらかじめ指定されているNAME属性の一覧を示します。
これらは自動的に認識され、メール中では所定の箇所に表示されます。
name 投稿者の名前
mail 投稿者のメールアドレス
homepage ホームページ
title メールの件名
body メールの本文
項目を新たに追加する場合
<form method=post action=sensys.cgi>
Name:<input type=text name=name><br>
Mail:<input type=text name=mail><br>
<br>
年齢:<input type=text name=0-年齢><br>
県名:<input type=text name=1-住所><br>
<input type=submit value=送信>
いくらなんでも、タイトルとコメントだけでは役に立ちませんよね(^^;
そこで、別の項目を追加する方法ですが上の青紫の部分に注目してください。
今、たとえば年齢の欄に「20」、住所の欄に「東京」といれたとしましょう。
するとメール中では、
年齢 20
住所 東京
と表示されます。
つまり、「formのname属性中でつけた文字列」 「投稿された内容」という形式で表示されます。
「0-年齢」というように「数字-内容」となっていますが、
この数字はメール中で表示される順番を示しています。
0から順番に割り振っていくことで、メール中での表示の順序を指定できます。
なお、数字部分を入れてないと、メール中にデータが反映されませんので、
数字は必ず指定してやってください。
FAQ(よくあるご質問と回答)
携帯電話との対応状況を教えてください
i-modeとJ-phoneには理論上対応しています。
一部の機種でのテストでは問題なく動作いたしました。
Ezwebについては未確認です。
私自身端末を所持していないこと、またあまり資料も持ち合わせいないためわからない状況です。
一応、Ezwebも簡単なHTMLは表示できるようですので、動くとは思うのですが。 (情報をおまちしております)
このCGIは、フォームのデータをメールで送る仲介をするCGIです。
ですから、携帯の画面に出てくるページ(CHTML、HDMLなど)は自分で個別に作成することとなります。
携帯の画面に現れるページを、携帯にあわせて作成しておけば、
あとのCGIでの処理は全ての携帯で共通になる部分が大きいため、問題なく動いてくれるとは思います。
なお、データの投稿形式にPOSTとGETがございますが、
携帯からの投稿に対応させるためには、GETを使う必要性があります。
将来的には、全ての携帯で動作確認していくつもりでおります。
複数の送信先へ一括して送れますか?
可能です。
送り先メールアドレスの設定項目にて"aaa@ryulie.com bbb@ryulife.com"というように、
間に半角のスペースをいれて並べれば、複数のアドレスに送信されます。
ところで、メールマガジン/メーリングリスト的な使い方は想定しておりませんので、
負荷が大きくなるため、あまり多人数に送ることはおすすめしかねます。
Sendmail System 制作履歴
2001年
11月 ver1.0 配布開始