
#●
#---------------------------------------------------------------------------------------
# 名称     | Toku_Mail
# Version  | 1.80
# 処理名   | 記録処理
# 動作内容 | 投稿者へ匿メールする
# 引数     | なし
# 戻り値   | なし
#
sub Toku_Mail {

	#---○設定---------------------------------------------------------

	$send_host = 1; # ●送信者情報を送信 1:する 0:しない
	$sendmail = '/usr/lib/sendmail'; # ●メール送信外部プログラム
	$administrator = '設置者のＥメールを半角で'; # ●管理者のメールアドレス

	#------------------------------------------------------------------

	if ($in{'num'} eq '') { &Error("エラー","異常があります."); }

	if ($in{'NAME'} eq '') { &Error("未記入があります","名前を入力してください."); }
	if ($in{'EMAIL'} ne '' && !($in{'EMAIL'} =~ /\b[-\w.]+@[-\w.]+\.[-\w]+\b/)) { &Error("未記入があります","Ｅメールを半角で正しく入力してください."); }
	if ($in{'VALUE'} eq '') { &Error("未記入があります","内容を入力してください."); }

	@pickup = grep(/^$in{'num'}\t/,@messages);
	$i = @pickup;
	if ($i == 0) { &Error("エラー","送信先が記録された記事が見当たりません(削除された可能\性があります)."); }
	elsif ($i > 1) { &Error("エラー","同じ番号の記事が存在しているために、データ異常です."); }

	($number,$pwd,$date,$name,$email,$host,$title,$mode,$link,$toku_email,$value) = split(/\t/,$pickup[0],11);
	if ($deleted{$number} == 1) { &Error("エラー","送信しようとした相手の記事は削除されたために送信できませんでした."); }
	unless ($email =~ /\b[-\w.]+@[-\w.]+\.[-\w]+\b/) { &Error("エラー","送信先が不適切な形式のＥメールまたは設定されていませんので送信できませんでした."); }

	if (open(OUT,"| $sendmail -t")) { # メール送信

		print OUT "To: $email\n";
		print OUT "Errors-To: $administrator\n";

		if ($in{'EMAIL'} ne '') { $resp = "$in{'NAME'} <$in{'EMAIL'}> さんから"; }
		else { $resp = "$in{'NAME'} <Ｅメール記入なし> さんから"; }

		print OUT "From: $administrator\n";
		print OUT &jis("Subject: $title_barからのお知らせ\n"); # 全角を含むものはJIS変換

		if ($send_host) { # 記入者情報

			#ホスト名の取得(リムネットなら次の４行を指定のプログラムと入れ替える)
			$host = $ENV{'REMOTE_HOST'};
			$addr = $ENV{'REMOTE_ADDR'};
			if ($host eq '') { $host = $addr; } # ホスト名にＩＰが入らない場合があるので
			if ($host eq $addr) { $host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; }

			print OUT "X-HTTP_USER_AGENT: $ENV{'HTTP_USER_AGENT'}\n";
			print OUT "X-REMOTE_HOST: $host\n";
			print OUT "X-REMOTE_ADDR: $ENV{'REMOTE_ADDR'}\n";
		}

		print OUT "Content-Transfer-Encoding: 7bit\n";
		print OUT "Content-Type: text/plain; charset=iso-2022-jp\n\n";

		$in{'NAME'} =~ s/&lt;/</g; # タグを戻す
		$in{'NAME'} =~ s/&gt;/>/g;
		$in{'NAME'} =~ s/&quot;/"/g;
		$in{'NAME'} =~ s/&amp;/&/g;

		print OUT &jis("こちらは$title_bar(ログ:$cmd{'log'})です。\n");
		print OUT &jis("http://$ENV{'SERVER_NAME'}$ENV{'SCRIPT_NAME'}?log=$cmd{'log'}\n\n");

		print OUT &jis("$respのメールを転送します。\n");
		print OUT &jis("※このまま返信すると管理者宛てになりますのでご注意ください。\n");

		print OUT &jis("\n-----\n\n");

		$in{'VALUE'} =~ s/&lt;/</g; # タグを戻す
		$in{'VALUE'} =~ s/&gt;/>/g;
		$in{'VALUE'} =~ s/&quot;/"/g;
		$in{'VALUE'} =~ s/&amp;/&/g;

		print OUT &jis("$in{'VALUE'}\n");
	}

	sub jis { $msg = $_[0]; &jcode'convert(*msg,'jis'); return $msg; } # JIS変換

	close(OUT);

	&Html_head; # ヘッダの出力
	print "$body\n";
	print <<"EOF";
	<h1>送信しました</h1>
	〔<a href="$ENV{'SCRIPT_NAME'}?log=$cmd{'log'}">掲示板に戻る</a>〕
	<p></body></html>
EOF

}#End_of_Toku_Mail

