#!/usr/bin/perl use strict; my $mailprog = '/usr/lib/sendmail -oi -t'; # Absenderadresse der Mail my $From = 'bla@bla.de.example'; # URL der Homepage. Formulare werden mit #
angesprochen. my $homeurl = 'http://fasel.bla.de'; # Maildomain: der '@' und alles, was dahinter kommt my $Maildomain = 'bla.de'; my %FORM = (); my @pairs; my $buffer = ''; my $recipient = 'bla@bla.de'; my $comments = ''; my $sender = ''; my $script_url = $ENV{'SCRIPT_NAME'}; # Dokumenten-Kopf print "Content-type: text/html\n\n"; print qq~      E-Mail-Formular      ~; # Get the input if ($ENV{'REQUEST_METHOD'} eq 'GET') {@pairs = split(/&/, $ENV{'QUERY_STRING'});} elsif ($ENV{'REQUEST_METHOD'} eq 'POST')  {  read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});  @pairs = split(/&/, $buffer);  } foreach my $pair (@pairs)  {  my ($name, $value) = split(/=/, $pair);  $value =~ tr/+/ /;  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;  $FORM{$name} = $value;  } #$recipient = $FORM{'recipient'} if (defined($FORM{'recipient'})); $comments = $FORM{'comments'} if (defined($FORM{'comments'})); #$sender = $FORM{'username'} .' (' . $FORM{'realname'} . ')'; # Wenn kein Empfaenger angegeben, falscher Aufruf if ($recipient eq '')  {  print qq~  

Fehler

 Kein Empfänger angegeben.      ~;  } # Falls die Antwort leer ist, Formular ausgeben elsif ($comments eq '')  {  print qq~  

E-Mail-Nachricht versenden

   

  Hier bitte Ihren Text eingeben:
   

     

 

     ~;  } else  {  print qq~  

Mail wurde verschickt

 

 Zurück

     ~;  # Jetzt E-Mail an $recipient senden, erst Adresse basteln  $recipient = $recipient . '@' . $Maildomain;  open (MAIL, "|$mailprog") || die "Can't open $mailprog!\n";  print MAIL "From: $From\n";  print MAIL "To: $recipient\n";  print MAIL "Subject: $subject\n";  print MAIL "Mime-Version: 1.0\n";  print MAIL "Content-Type: text/plain; charset=iso-8859-1\n";  print MAIL "Content-Transfer-Encoding: 8bit\n";  print MAIL "Reply-to: $sender\n";  print MAIL "\n";  print MAIL "$sender schrieb:\n\n";  print MAIL "$comments";  close (MAIL);  }