home *** CD-ROM | disk | FTP | other *** search
/ Internet 1996 World Exposition / park.org.s3.amazonaws.com.7z / park.org.s3.amazonaws.com / cgi-bin / Japan / DNP / MTN / mailto.cgi < prev   
Text File  |  2017-09-21  |  2KB  |  99 lines

  1. #!/usr/local/bin/perl
  2. require '/stage/htdocs/cgi-bin/Japan/DNP/MTN/jcode.pl';
  3.  
  4. read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
  5. @pairs = split(/&/,$buffer);
  6.  
  7. # ╜Θ┤ⁿ└▀─Ω
  8. $web     = "/stage/htdocs";
  9. $nkf     = '/usr/local/bin/nkf';
  10. $nkf_tmp = "$web/Japan/DNP/tmp/nkf_tmp.$$";
  11. $sendmail= '/usr/lib/sendmail';
  12.  
  13. open(PRN,"| $nkf");
  14. select(PRN);
  15.  
  16. # FORM╩╕╗·╬≤ñΦñΩ└┌ñΩ╜╨ñ╖íª╩╤┤╣
  17. $number = 1;
  18. foreach $pair (@pairs)
  19. {
  20.     ($name, $value) = split(/=/, $pair);
  21.     $value =~ tr/+/ /;
  22.     $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  23.     $name =~ tr/+/ /;
  24.     $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  25.     $FORM{$name} = $value;
  26.     $match = $name;
  27.     &jcode'convert(*match,'euc');
  28.     if(!($match =~ /\bTOMAIL\b/) && !($match =~ /\bTHANK-HTML\b/) && !($match =~ /\bHISSU\b/) && !($match =~ /\bRETRY-HTML\b/) && !($match =~ /\bFROM\b/) && !($match =~ /\bTITLE\b/)){
  29.         $KEY{$number++} = $name;
  30.     }
  31. }
  32.  
  33. # ▒úñ╖┬░└¡╣α╠▄ñ╬Ñ┴ѺÑ├Ñ»
  34. if($FORM{'TOMAIL'} eq ""){&error("HTML MailAddress empty!!");}
  35. if(!(-e "$web$FORM{'THANK-HTML'}")){&error("HTML File No Exist!!");}
  36.  
  37. # ╔¼┐▄╞■╬╧╣α╠▄ñ╬╚╜─Ω
  38. @hissus = split(/,/,$FORM{'HISSU'});
  39. foreach $hissu (@hissus){
  40.     if($FORM{$hissu} eq ""){
  41.         &html_put("$web$FORM{'RETRY-HTML'}");
  42.         exit;
  43.     }
  44. }
  45.  
  46. # Ñßí╝Ñδ┴≈┐«╞Γ═╞
  47. $buffer = "";
  48. for($i=1; $i<$number; $i++){
  49.     if($FORM{$KEY{$i}} ne ""){
  50.         $buffer .= "-----<$KEY{$i}>\n$FORM{$KEY{$i}}\n";
  51.     }
  52. }
  53.  
  54. # FROMñ╚TITLEñ╬Ñ╟Ñ╒Ñ⌐ÑδÑ╚ñ╬Ñ╗Ñ├Ñ╚
  55. if($FORM{'FROM'} eq ""){$FORM{'FROM'} = "httpd";}
  56. if($FORM{'TITLE'} eq ""){$FORM{'TITLE'} = "httpd Mail";}
  57.  
  58. # Ñßí╝Ñδ┴≈┐«
  59. open(ML,"| $nkf | $sendmail $FORM{'TOMAIL'}") || die &error("Mail Send Error! Please Retry!");
  60. print ML "From: $FORM{'FROM'}\n";
  61. print ML "Subject: $FORM{'TITLE'}\n";
  62. print ML "X-Mailler: mailto.cgi ver1.0\n";
  63. print ML "X-Host: chat.expo96.ad.jp\n";
  64. print ML "X-Applicant-Host: $ENV{'REMOTE_HOST'}\n";
  65. print ML "\n";
  66. print ML $buffer;
  67. close(ML);
  68. &html_put("$web$FORM{'THANK-HTML'}");
  69.  
  70. close(PRN);
  71. exit;
  72.  
  73. # HTMLÑ╒ÑíÑñÑδñ╬╜╨╬╧
  74. sub html_put {
  75.     $buffer = "Content-type: text/html\n\n";
  76.     open(FILE,"$_[0]") || die &error("html_put($_[0])");
  77.     while(<FILE>){
  78.         $buffer .= $_;
  79.     }
  80.     close FILE;
  81.     print $buffer;
  82. }
  83.  
  84. # Ñ¿ÑΘí╝╜╨╬╧
  85. sub error {
  86.     print "Content-type: text/html\n\n";
  87.     print "<html><head>\n";
  88.     print "<title>Error</title>\n";
  89.     print "</head>\n";
  90.     print "<body>\n";
  91.     print "<h2>Error occured!!:<br>$_[0]</h2></body></html>\n";
  92.     exit;
  93. }
  94.  
  95.  
  96.  
  97.  
  98.  
  99.