paul k.: Formmailer funktioniert nicht

Hallo,
ich bin schon fast am verzweifeln.
Ich finde den Fehler nicht, warum dieser Formmailer nicht funktioniert.
Könnt ihr mir bitte helfen.
Also mal Code durchgucken..
Hier der Code:

#!/usr/bin/perl
#$Sendmail_Prog = "/usr/sbin/sendmail";
#use CGI;
$query = new CGI;
@names = $query->param;
#$delimiter = $query->param('delimiter');
$mailto = 'mein@mailadresse.tld';
$returnhtml = 'http://meine.url.de';
$subject = 'Betreff';
$mailtext = "";
foreach(@names) {
  $name = $_;
  @values = "";
  @values = $query->param($name);
  if($name ne "mailto" && $name ne "return" && $name ne "subject" && $name ne "delimiter") {
    foreach $value (@values) {
      $mailtext = $mailtext.$name;
      $mailtext = $mailtext.$delimiter;
      $mailtext = $mailtext.$value."\n";
    }
  }
}
open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";
print MAIL "To: $mailto\n";
print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);
print "Location: $returnhtml\n\n";

verknüpft habe ich den Formmailer so:
 <form action="mail.cgi" method="post">

Der Formmailer hat 1 Namensfeld, 1 Mailfeld und ein Textfeld.

Was habe ich falsch gemacht?

danke schon mal.

gruß
paul

  1. Hallo paul,

    Ich finde den Fehler nicht, warum dieser Formmailer nicht funktioniert.

    #$Sendmail_Prog = "/usr/sbin/sendmail";
    #use CGI;

    Warum hast du diese beiden Zeilen auskommentiert?

    $query = new CGI;

    Hier willst du das auskommentierte CGI von oben benutzen

    #$delimiter = $query->param('delimiter');

    und warum ist das hier auskommentiert?

    open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";

    Welches Mailprogramm (siehe oben)?

    Grüße,

    Peter