CGI-BBS > UNIX > Sendmail > Sendmailの改造で投稿したことをお知らせしたい。


カレッヂ
カレッヂ


質問者 443  投稿日 2005/9/27(火) 17:37:21
初心者なのでご教授下さい。

下記のソースですと自分の投稿に対してレスがされると通知が
届く様になりますが、自分で投稿した際にメールで通知してくれる様に
するにはどのように書き変えたら出来るのでしょうか。


sub SMail {
	$mailbuf = "";
	$cv_ttl = $titlename;
	if ( $hiho == 1 ) {
	   	&jcode'convert(*cv_ttl,'euc');
		open(MAIL,"| $sendmail -s \"$cv_ttl\" -f $smail_address $smail_address ") || &error("Sendmail Error!!");
	} else {
	   	&jcode'convert(*ttl,'jis');
		open(MAIL,"| $sendmail -t") || &error("Sendmail Error!!");
		$mailbuf = "To: $smail_address\n";
		$mailbuf .= "From: $smail_address\n";
		$mailbuf .= "Subject: $cv_ttl\n";
		$mailbuf .= "Content-Transfer-Encoding: 7bit\n";
		$mailbuf .= "Content-type: text/plain\n";
		$mailbuf .= "\n\n";
	}
	$mailbuf .= "============================================================\n";
	$mailbuf .= "■---『$titlename』に返信がありました\n";
	$mailbuf .= "============================================================\n";
	$mailbuf .= "▼投稿日時:\n";
	$mailbuf .= "$sysdate\n\n";
	$mailbuf .= "▼返信のあった日記の日付\n";
	$mailbuf .= "$FORM{'year'}年$imonth月$iday日分\n\n";
	$mailbuf .= "▼お名前\n";
	$mailbuf .= "$FORM{'name'}\n\n";
	$mailbuf .= "============================================================\n";


お恥ずかしながら「このソースでは無理だよ」といった場合でしたら
ソースの書き方を教えて頂けましたら幸いです。

宜しくお願い致します。

【プロバイダ】http://www.ocn.ne.jp
【習熟度】初めて

回答者 sim  [削除]  投稿日 2005/10/3(月) 02:21:15
>自分で投稿した際にメールで通知してくれる様にする

これはどのような物を指すのでしょう。

1.管理者が投稿した場合に管理者にメールを送信
2.全ての投稿者が投稿した際に投稿者宛にメールを送信

1であれば if($smail_address eq '自分のアドレス'){}
2の場合であればそのままのソースじゃないでしょうか。

>下記のソースですと自分の投稿に対してレスがされると通知が届く様に

それはこの場所の処理ではないような気がします。
質問者 443  [削除]  投稿日 2005/10/3(月) 10:01:51
simさん、ご返答ありがとうございました。

>これはどのような物を指すのでしょう。

至らない説明で申し訳ありません。。
例えば、会社のHPで「お知らせ」というコンテンツに新しく
情報が追加された時に、メーリングリストで社内通知をするといった
自動的にメールが流せるソースにしたいのです。
( 管理者が投稿した場合にメーリングリストにメールを送信 )


>>下記のソースですと自分の投稿に対してレスがされると通知が届く様に
>それはこの場所の処理ではないような気がします。

頂いてきたソースをそのまま使いますと、そのようになりましたが
私の指摘している場所ではないようですね・・すみません!

宜しくお願い致します。

回答者 sim  [削除]  投稿日 2005/10/3(月) 11:18:50
メーリングリストのようにしたい場合は、
$smail_addressの部分を
 $smail_address = "a@ドメイン.com,b@ドメイン.com,c@ドメイン.com";
などのようにカンマ区切りでつなげてしまうと簡単かもしれません。

アドレスに全員のアドレスが見えてしまうのが困る場合はTOではなくBCCで送ると良いかもしれません。

 &jcode'convert(*ttl,'jis');
この部分は
 &jcode'convert(*cv_ttl,'jis');
とした方が良いかも知れません。
質問者 443  [削除]  投稿日 2005/10/3(月) 11:27:00
simさん、お早いご返答ありがとうございます!

早速試してみます!
本当に、ありがとうございました<(_ _)>


返信(回答)する

 


Web裏技