KENT-WEB サポートコーナー 過去ログ [ 0166 ]


記事No: 745
投稿日: 2007/06/02(Sat) 18:13:33
タイトルImageAlbum
ID情報: tamabi
投稿者: たまび
URLhttp://pet-micky.net/

こんにちは、

ImageAlbumのコメントがあった時に、お知らせメールが欲しい場合は、どうしたらよろしいでしょうか。
よろしくお願いします。


記事No: 752
投稿日: 2007/06/02(Sat) 21:52:16
タイトルRe: ImageAlbum
ID情報: pachira
投稿者: pachira
URLhttp://www5e.biglobe.ne.jp/~pachira/

> こんにちは、
>
> ImageAlbumのコメントがあった時に、お知らせメールが欲しい場合は、どうしたらよろしいでしょうか。
> よろしくお願いします。

もう、これは有償改造の部類ですね。
http://www.kent-lab.com/

# 設置URLは必ず書いて下さい。


記事No: 769
投稿日: 2007/06/03(Sun) 15:00:11
タイトルRe: ImageAlbum
ID情報: teketen
投稿者: てけてん

その機能をもった他のサイトのスクリプトを使用するとか。
例えば、
http://www.web-liberty.net/
こちらの「Web Gallery Professional」とか。
他にも有るかも知れませんので、http://www.i-say.net/cgi/とかで探しては如何でしょうか?
どうしてもKENTさんのスクリプトが良いという場合は、何方かが改造のアドバイスをされるのを待つか、有償カスタマイズをご利用下さい。


記事No: 772
投稿日: 2007/06/03(Sun) 15:41:19
タイトルRe: ImageAlbum
ID情報: tems
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> こんにちは、
>
> ImageAlbumのコメントがあった時に、お知らせメールが欲しい場合は、どうしたらよろしいでしょうか。
> よろしくお願いします。

改造自体は他の掲示板スクリプトのメール送信部分をそのまま流用できますので比較的簡単に行うことができます。

●init.cgi基本設定に追加
# メール通知機能
# 0 : 通知しない
# 1 : 通知する
$mailing = 1;

# sendmailのパス(メール通知する場合)
$sendmail = '/usr/lib/sendmail';

# メール通知先アドレス(メール通知する場合)
$mailto = 'xxx@xxxx';


●album.cgi
#---------------------------------------
# 返信書き込み
#---------------------------------------

-- 途中省略 --

# クッキー
if ($in{'cook'} == 1) {
# 保存
&set_cookie($in{'name'},$in{'url'},$in{'cook'});
} else {
# 消去
print "Set-Cookie: ImageAlbum=; expires=Mon, 01-Apr-1998 00:00:00 GMT\n";
}

# メール通知処理
if ($mailing) { &mail_to; } ## ←追加

# 完了



以下サブルーチンを追加
#-------------------------------------------------
# メール送信
#-------------------------------------------------
sub mail_to {
local($msub,$mbody);

# メールタイトルを定義
$msub = "$title";

# 本文の改行・タグを復元
$mcom = $in{'comment'};
$mcom =~ s/<br>/\n/g;
$mcom =~ s/&lt;/</g;
$mcom =~ s/&gt;/>/g;
$mcom =~ s/&quot;/”/g;
$mcom =~ s/&amp;/&/g;

$mbody = "$titleに以下の投稿がありました。\n\n";
$mbody .= "Date : $date\n";
$mbody .= "Host : $host\n";
$mbody .= "Agent: $ENV{'HTTP_USER_AGENT'}\n\n";
$mbody .= "名前 : $in{'name'}\n";
$mbody .= "参照 : $in{'url'}\n" if ($in{'url'});
$mbody .= "\n$mcom\n";

# 題名をBASE64化
$msub = &base64($msub);

# sendmail送信
open(MAIL,"| $sendmail -t -i") || &error("メール送信失敗");
print MAIL "To: $mailto\n";
print MAIL "From: $mailto\n";
print MAIL "Subject: $msub\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=iso-2022-jp\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "X-Mailer: $ver\n\n";
foreach ( split(/\n/, $mbody) ) {
&jcode'convert(*_, 'jis', 'sjis');
print MAIL $_, "\n";
}
close(MAIL);
}

#-------------------------------------------------
# BASE64変換
#-------------------------------------------------
#とほほのWWW入門で公開されているルーチンを参考にしました。
#http://tohoho.wakusei.ne.jp/
sub base64 {
local($sub) = @_;
&jcode'convert(*sub, 'jis', 'sjis');

$sub =~ s/\x1b\x28\x42/\x1b\x28\x4a/g;
$sub = "=?iso-2022-jp?B?" . &b64enc($sub) . "?=";
$sub;
}
sub b64enc {
local($ch)="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
local($x, $y, $z, $i);
$x = unpack("B*", $_[0]);
for ($i=0; $y=substr($x,$i,6); $i+=6) {
$z .= substr($ch, ord(pack("B*", "00" . $y)), 1);
if (length($y) == 2) {
$z .= "==";
} elsif (length($y) == 4) {
$z .= "=";
}
}
$z;
}


[検索ページ]