CGI-BBS > CGI > Perl > Perlの改造でメールを送信先と管理人に配布するフォームにしたい


カレッヂ
カレッヂ


質問者 外国語講師  投稿日 2005/1/22(土) 18:10:44  [削除] (返信・回答が付いた後にこの質問の削除はできません)
下記のとおりスクリプトです。
送信元のform.htmlから送信できるようになりました。
今チャレンジしているのが、$transに送信したいメールアドレスを
受け取って、そちらのメールアドレスに送信するように改造してみたいの
ですがうまくいきません。お手数かと思いますが、どのように改造したら
いいのか教えていただけませんでしょうか?

# 送信完了時に表示するページのURLで指定する。
$query_file = 'http://www.elite-foreignlanguage.com/admin/form/ok.html';

# Webmasterメールアドレス(From:ヘッダに書かれるメールアドレス)
$smail = 'post@elite-foreignlanguage.com';

$smailadmin = 'ozaki@elite-foreignlanguage.com';

# Webmaster名(From:ヘッダに書かれる名前)。
$sname = 'エリート外国語スクール@管理人';

$snameadmin = '管理者送信内容送付';

# Sendmailの場所の指定。サーバによって場所が違う場合があるので、
$sendmail = '/usr/sbin/sendmail';

# 送信先メールアドレス(自分のメールアドレス等)を指定。

$trans = 'post@elite-foreignlanguage.com';

$transadmin = 'ozaki@elite-foreignlanguage.com';

$subject = 'Application for admission';

# メール本文中に挿入される、フォームのタイトル名。
$ftitle = '入会登録申し込み';



require './jcode.pl';


$clength = $ENV{'CONTENT_LENGTH'};

if ($clength ne '') {
	read(STDIN, $query_string, $clength);
	@elements = split(/&/, $query_string);
	$i = 0;
	foreach $element (@elements) {
		($key, $buf) = split(/=/, $element);
		$key =~ tr/+/ /;
		$key =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
		&jcode'convert(*key, 'jis');
		@name[$i] = $key;
		$buf =~ tr/+/ /;
		$buf =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
		&jcode'convert(*buf, 'jis');
		@value[$i] = $buf;
		$i++;
	}

	&jcode'convert(*sname, 'jis');
	&jcode'convert(*subject, 'jis');
	&jcode'convert(*ftitle, 'jis');

	open (MAIL, "| $sendmail -f $smail $cliant_mail");
	if ($sname ne '') {
		print MAIL "From: \"$sname\" <$smail>\n";
	} else {
		print MAIL "From: $smail\n";
	}
	print MAIL "Content-Type: text/plain; charset=\"ISO-2022-JP\"\n";
	print MAIL "Subject: $subject\n";
	print MAIL "\n";

	print MAIL "$ftitle\n";
	print MAIL "\n";

	$tmp = '送信内容';
	&jcode'convert(*tmp, 'jis');
	print MAIL "$tmp\n";

	print MAIL "----------------------------------------------------------------------\n";
	for($j = 0; $j < $i; $j++) {
		print MAIL $j+1 . ": @name[$j] => @value[$j]\n";
	}
	print MAIL "----------------------------------------------------------------------\n";
	close(MAIL);




	&jcode'convert(*snameadmin, 'jis');

	open (MAIL, "| $sendmail -f $smailadmin $transadmin");
	if ($sname ne '') {
		print MAIL "From: \"$snameadmin\" <$smailadmin>\n";
	} else {
		print MAIL "From: $smailadmin\n";
	}
	print MAIL "Content-Type: text/plain; charset=\"ISO-2022-JP\"\n";
	print MAIL "Subject: $subject\n";
	print MAIL "\n";

	print MAIL "$ftitle\n";
	print MAIL "\n";

	$tmp = '送信内容';
	&jcode'convert(*tmp, 'jis');
	print MAIL "$tmp\n";

	print MAIL "----------------------------------------------------------------------\n";
	for($j = 0; $j < $i; $j++) {
		print MAIL $j+1 . ": @name[$j] => @value[$j]\n";
	}
	print MAIL "----------------------------------------------------------------------\n";
	close(MAIL);

}
	print "Location: $query_file\n\n";

【プロバイダ】1-man.net
【習熟度】多少の設置経験

返信(回答)する

 


Web裏技