ambras: Sendmail CGI

Beitrag lesen

Hallo.

Ich muss dringend ein Kontaktformular wieder in Gang bekommen:

Der Server hat sendmail unter /usr/lib/sendmail

Das Kontaktformular hat folgende Inhalte:

<form name="Kontakt" action="http://www.grafex.de/cgi-bin/selfmail.pl" method="post">
<input type="hidden" name="mailto" value="cj@namexy.de">
<input type="hidden" name="return" value="http://www.namexy.de/content/000.html">
<input type="hidden" name="delimiter" value=":">
<input type="hidden" name="subject" value="Kontakt Formular Internet">

Habe Ordner cgi-bin eingerichtet mit der Datei selfmail.pl mit folgendem Inhalt:

#!/usr/bin/perl

-------> SMTP-Programm zum Versenden der Mail:

$Sendmail_Prog = "/usr/lib/sendmail";

-------> Modul für CGI-Scripts einbinden:

use CGI;

-------> Modul für CGI-Scripts zum Einlesen der Formulardaten anwenden:

$query = new CGI;
@names = $query->param;

-------> interne Daten aus den erwarteten hidden-Feldern auslesen:

$delimiter = $query->param('delimiter'); # ---> Begrenzerzeichen zwischen name und value
$mailto = $query->param('mailto'); # ---> Empfängeradresse
$returnhtml = $query->param('return'); # ---> URL für Dankeseite
$subject = $query->param('subject'); # ---> E-Mail-Subject

-------> Text der E-Mail aus den Formulardaten ermitteln:

$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";
}
}
}

-------> E-Mail versenden:

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);

-------> Dankeseite an Browser senden:

print "Location: $returnhtml\n\n";

SO. ABER DAS FUNKTIONIERT ALLES NICHT. UND EIGENTLICH HABE ICH SCHON FEIERABEND. HILFEHILFEHILFE

danke
ambras