#!/usr/local/bin/perl5 # smail.cgi # 1997/08/29 Ver.0.00 # 1997/09/24 Ver.0.01 # + の変換忘れを修正しました。 # 1998/04/10 Ver.0.02 # いろいろ変更しました。 # 1998/06/08 Ver.0.03 # 1999/11/15 Ver.0.04 # REMOTE_HOST から REMOTE_ADDR へ # Copyright (C) 1997,98,99 がま <gama@mvg.biglobe.ne.jp> #-------------------------------------------------------------------- $sendmail ='/usr/lib/sendmail'; $nkf ='/usr/local/bin/nkf'; $back_html ='step04.htm'; $subject ='[BIGLOBE と CGI で遊ぼう! step4]'; #★★★ 重要な注意点 ★★★★★★★★★★★★★★★★★★★★★★★ #★★★ この $webmaster は必ず書きかえてください! $webmaster ='gama@mvg.biglobe.ne.jp'; #★★★ 重要な注意点の終了 ★★★★★★★★★★★★★★★★★★★★ $ct = $ENV{"CONTENT_TYPE"}; $cl = $ENV{"CONTENT_LENGTH"}; # -------------------------------------------------------- $ip =$ENV{REMOTE_ADDR}; ###$ip =$ENV{'HTTP_FORWARDED'}; # RIMNET ###$ip =~ s/^.* for //; # RIMNET if ($ENV{'HTTP_VIA'} && $ENV{'HTTP_X_FORWARDED_FOR'}) { $pip = $ENV{'HTTP_X_FORWARDED_FOR'}; $rhost = gethostbyaddr(pack('C4',split(/\./,$pip)),2); } unless ($rhost) { # host 名への変換 $rhost = gethostbyaddr(pack('C4',split(/\./,$ip)),2); } # -------------------------------------------------------- read(STDIN, $in, $cl); # HTML --------------------------------------------------- print "Content-type: text/html\n\n"; print "<HTML>"; print "<HEAD><TITLE>ありがとうございます</TITLE></HEAD>"; print "<BODY BGCOLOR=\"#FFFFFF\">\n"; print "$ip <B>$rhost からのご意見、ありがとうございます</B>\n"; print "<PRE><BLOCKQUOTE>\n"; print "<HR>\n"; $htout = $in; $htout =~ s/comment=/ご意見・ご希望\n/g; $htout =~ s/CB/きらいなもの/g; $htout =~ s/&/\n/g; $htout =~ s/\+/ /g; $htout =~ s/%(..)/pack("c",hex($1))/ge; $htout =~ s/</</g; $htout =~ s/>/>/g; $htout =~ s/&/&/g; print $htout; # 内容 print "<\/PRE><\/BLOCKQUOTE>\n"; print "<HR>\n"; print "<CENTER>\n"; print "<A HREF=\"$back_html\">戻る</A>"; print "</CENTER>\n"; print "<HR>\n"; print "</BODY>\n"; print "</HTML>\n"; # MAIL --------------------------------------------------- # nkf を通さないとタイトルが化けました。 # sendmail にはパスが通っていなかったのでフルパスを記述 open(MAIL,"| $nkf | $sendmail -t"); print(MAIL "From: $webmaster\r\n"); print(MAIL "To: $webmaster\r\n"); print(MAIL "Subject: $subject\r\n\r\n"); print(MAIL "REFERER: $ENV{'HTTP_REFERER'}\n" ); print(MAIL "REMOTE HOST: $ENV{'REMOTE_HOST'} $rhost\n" ); print(MAIL "USER AGENT: $ENV{'HTTP_USER_AGENT'}\n\n" ); $in =~ s/comment=/ご意見・ご希望\n/g; $in =~ s/CB/きらいなもの/g; $in =~ s/&/\n/g; $in =~ s/\+/ /g; $in =~ s/%(..)/pack("c",hex($1))/ge; print(MAIL $in); # 内容 close(MAIL);