home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / chip-cd_2000_02.zip / 02 / offline / prawo / ank / sendform.cgi < prev   
Text File  |  1998-02-23  |  2KB  |  71 lines

  1. #!/usr/bin/perl
  2.  
  3. # (C) 1998 Piotr Roszatycki <dexter@fnet.com.pl>
  4. # All right reserved. Copying and modifing source is not allowed.
  5.  
  6.  
  7. # CGI parameters:
  8. #  from     - sender's address (def.: $HOSTNAME)
  9. #  to       - receiver's address (def.: webmaster)
  10. #  subject  - subject of mail (def.: WWW form)
  11. #  header   - local file header (def.: none)
  12. #  footer   - local file footer (def.: none)
  13.  
  14. use CGI;
  15. use CGI::Carp qw(fatalsToBrowser);
  16.  
  17. $cgi = new CGI( \*STDIN );
  18.  
  19. print $cgi->header;
  20.  
  21. $fin = $cgi->param('header');
  22. if( $fin ) {
  23.     $fin =~ s/^\///;
  24.     if( $fin && open FIN, $fin ) {
  25.         while( $_ = <FIN> ) {
  26.             print;
  27.         }
  28.         close FIN; 
  29.     }
  30.     $cgi->delete('header');
  31. }
  32.  
  33. $fin = $cgi->param('footer');
  34. if( $fin ) {
  35.     $fin =~ s/^\///;
  36.     open FIN, $fin;
  37.     $cgi->delete('footer');
  38. }
  39.  
  40. open FOUT, "|/usr/sbin/sendmail " . ( $cgi->param('to') ? $cgi->param('to') : "webmaster" );
  41.  
  42. print FOUT "From: ", $cgi->param('from') ? $cgi->param('from') : "sendform", "\n"; $cgi->delete('from');
  43. print FOUT "Subject: ", $cgi->param('subject') ? $cgi->param('subject') : "WWW form", "\n"; $cgi->delete('subject');
  44. print FOUT "To: ", $cgi->param('to') ? $cgi->param('to') : "webmaster", "\n"; $cgi->delete('to');
  45. print FOUT "\n";
  46.  
  47. foreach( $cgi->param ) {
  48.     print FOUT "* ", $_, "\n";
  49.     print FOUT $cgi->param($_), "\n";
  50.     print FOUT "\n";
  51. }
  52.  
  53. foreach( $cgi->param ) {
  54.     $param = $cgi->param($_);
  55.     $param =~ s/\n/<br>/g;
  56.     print "<H4>", $_, "</H4>\n";
  57.     print "<I>", $param, "</I><BR>\n";
  58.     print "<BR>\n";
  59. }
  60. print "</OL>\n";
  61.  
  62. close FOUT;
  63.  
  64. while( $_ = <FIN> ) {
  65.     print;
  66. }
  67. close FIN; 
  68.  
  69.  
  70.  
  71.