CGI-BBS > 電子掲示板 > 簡易BBS > MiniBBS2000で投稿時に管理者メールが届くようになりませんか?


カレッヂ
カレッヂ


質問者 まこと  投稿日 3/2(金) 19:10:56
$sendmail = '/usr/lib/sendmail';
$admin_email = '管理者のメールアドレス';
の宣言を以て新規投稿されたデータをgetして
管理者宛にリポートメール送信したいのですが
どうしたら良いのでしょうか?
回答者 いのちゃん  [削除]  投稿日 3/2(金) 22:14:28
http://www.kcb-net.ne.jp/ki-net/mini86/minibbs2000v1.02.cgi?log=log1
http://www.kcb-net.ne.jp/ki-net/mini86/minibbs2000v1.02.txt

上記は当方が設定しているurlですが新規投稿があった場合に管理者のみならず
訪問者の新規投稿であっても全ての新規投稿文章が管理者に配信される様に配信
機能設定をしたものです。ご質問の主旨が今一つ分からなかったですがもし上述
のような意味であればご参考にして見て下さいね。

minibbs2000v1.02.txtを参照して次ぎの3箇所の改造を追記してして下さい。
#---------(改造第1段階)
#---------(改造第2段階)
#---------(改造第3段階)

なおurlの項目を当方の都合で追加設定してあります。(^^)
質問者 まこと  [削除]  投稿日 3/2(金) 22:55:40
早々のレスありがとう御座います。
早速エディットしてみましたら、無事にsendmail出来ました。
第三段階のサブルーチン同様のものを作るものの差し込む位置
が $new = "$number\t$pwd\t・・・の後であったり、ご案内
いただきました第二段階の print "Set-Cookie:・・・の後に
書き込んだりとしておりました。
分かったようなふりしてやっているだけで恥ずかしい話でした
お付き合い頂きましてありがとう御座います。
今後ともヨロシクお願いいたします。
質問者 まこと  [削除]  投稿日 3/2(金) 23:36:50
教えて下さい!Part2
送信する項目数を増やしたのですが、エラーとなってしまいます。
訂正個所
#---------(改造第2段階)
        &s_mail("$title_bar簡易BBS2000(1)mini86",$in{'NAME'},$in{'EMAIL'},$in{'url'},$in{'area'},
#          ~~~~~~~~~~~
#                         ↑
#             追加項目
        ,$in{'TITLE'},$in{'VALUE'});
  }
#---------(改造第2段階)
        :
        :
#--------(改造第3段階)
sub s_mail {

        @mv = @_;
        $mv[8] =~ s/\r/\n/g;
#          ~~~
#      ↑
#     この数値

        &jis("名前: $mv[1]"); print OUT "$msg\n";
        &jis("Eメール: $mv[2]"); print OUT "$msg\n";
       :
        &jis("地域: $mv[4]"); print OUT "$msg\n";    # <--追加行例
        &jis("タイトル: $mv[5]"); print OUT "$msg\n\n";
       :
       :

また、改造第2段階の構文において

        &s_mail("$title_bar簡易BBS2000(1)mini86",$in{'NAME'},$in{'EMAIL'},$in{'url'},
        ,$in{'TITLE'},$in{'VALUE'});
       ~~~
        ↑
ここで改行しているのと、「,」が前行終端と2つ繋がっている
意味が分からないのですが?

回答者 いのちゃん  [削除]  投稿日 3/3(土) 00:29:35
元々当方はプログラマーではなくて先輩が開発した配信機能を多少改造
して配信機能の最初から無かった掲示板に取り付けた程度ですので今の
状態を更に再改造はしたくありません。

大変勝手な言い分ですが元々この配信機能を設定した理由は幾つかの複数
の掲示板を運営している時にどの分の掲示板に新規投稿があったかどうかを
それぞれ順番に開かなくても事前にキャッチする主旨でありますので最低の
項目でも結構でありますがそれなりに必要な項目も含んでおりますので使用
目的は十分達成しております。

以下の項目を含んでおりましたので念の為レポート申し上げますと
Date: Sat, 3 Mar 2001 00:18:33 +0900 (JST)
To: ki-net@mail.kcb-net.ne.jp
From: ki-net@mail.kcb-net.ne.jp
Subject: 簡易BBS2000(1)mini86

名前: いのちゃん
Eメール: ki-net@mail.kcb-net.ne.jp
url: http://www.kcb-net.ne.jp/ki-net/frame4_1.html
タイトル: 新規投稿

本文: 新規投稿の送信テストです。

回答者 みっちゃ  [削除]  投稿日 6/11(月) 06:00:34
いのちゃんさま、こんにちは。
私も、sendmail機能をつけたくて、いろいろ捜し歩いているうちに、ここに来ましたが、
回答の中にあった
http://www.kcb-net.ne.jp/ki-net/mini58/minibbs3v2.04a.cgi
http://www.kcb-net.ne.jp/ki-net/mini58/minibbs3v2.04a.txt
が、どちらも、今は使われていないようです。
ぜひ参考にしたいので、新しいアドレスを教えてください。
よろしくお願いします。
回答者 いのちゃん  [削除]  投稿日 6/11(月) 11:50:08
昔の名前で出ております。トラぶった関係で自分より進んでこのハンドルネームを現在
は使用しておりませんがこの時の書き込みでのご用件ですので再度このハンドルネームの
使用をお許しを頂きたくご迷惑すが宜しくお願いします。

さて、ご希望のurlの.cgi & .txtの双方を立ち上げてありますのでご参考にして見て
下さい。
回答者 みっちゃ  [削除]  投稿日 6/13(水) 02:59:29
いのちゃんさま

url復活して頂いてありがとうございます。
参考に、改造を試みましたが、さすがに1発では出来ず、苦労しております。
ゆっくり時間をかけて少しずつ完成に近づきたいと思います。

これからも、よろしくお願いします。
回答者 いのちゃん  [削除]  投稿日 6/13(水) 03:23:19
一応チェック済みですので挿入箇所を間違わなければ正常に立ち上がる筈かと
存じますのでもしどうしても駄目ならテストとして当方のご紹介申し上げた
.txtを先ずそっくりそのまま一度立ち上げて見て下さい。

その結果そちら様のサーバーに適合しているかどうかをご確認して頂けるように
思いますが...。

ただし当然ながら貴殿の修正箇所としては以下の項目があります。同一の場合は
そのまま生かして貰えばと存じます。

1: #!/usr/local/bin/perl
78: $reload = 'http://www.kcb-net.ne.jp/ki-net/mini58/minibbs3v2.04a.cgi';
89: $mailto = 'ki-net@mail.kcb-net.ne.jp'; # 送信先Eメール
90: $sendmail = '/usr/lib/sendmail'; # サーバのsendmailパス
回答者 いのちゃん  [削除]  投稿日 6/13(水) 12:33:52
まことさんの時の宿題が残っておりましたので一部修正をしました。
“ご住所”の項目を第2段階と第3段階に追加修正した結果正しく“ご住所の”
項目が受信されておりました。時を逸して申し訳ありません。

ご指摘の第2段階で“,”が重複しているのは当方のタイプミスでありましたので
この分は削除してあります。有難うございました。

一応.txtの方にその修正した記述内容を更新してありますが尚修正した箇所は以下の
通りです。第2段階の箇所ですがItem No.923:の行頭の“$in{'address'},”を追加
しました。

922: &s_mail("$title_bar簡易BBS2000(1)mini86",$in{'NAME'},
923: $in{'address'},$in{'EMAIL'},$in{'url'},$in{'TITLE'},$in{'VALUE'});

第3段階の箇所ですがItem No.1244の数字を[5]から[6]に変更しました。
1244:  $mv[6] =~ s/\r/\n/g; #(元は$mv[5]

Item No.1258に“ご住所”を追加しました。以下$mv[ ]の括弧内数値を1つずつ
増やしております。その内容記述は以下の通りです。

1257:  &jis("名前: $mv[1]"); print OUT "$msg\n";
1258:  &jis("ご住所: $mv[2]"); print OUT "$msg\n";
1259:  &jis("Eメール: $mv[3]"); print OUT "$msg\n";
1260:  &jis("url: $mv[4]"); print OUT "$msg\n";
1261:  &jis("タイトル: $mv[5]"); print OUT "$msg\n\n";        
1262:        
1263:  &jis("本文: $mv[6]"); print OUT "$msg\n\n";

以上です。どうも遅くなりましたが宜しくご配慮の程お願いします。
回答者 みっちゃ  [削除]  投稿日 6/24(日) 01:04:44
いのちゃんさま

何もいじっていないのですが、昨日から動くようになりました(サーバーのキャッシュのせいか?)
いろいろ、ありがとうございました。
回答者 いのちゃん  [削除]  投稿日 6/24(日) 01:31:07
動くようになって良かったですねぇ。(^_^)

返信(回答)する


Web裏技