feedback - probs bei der Umsetzung
T2000
- perl
0 Cheatah0 Peter Squentz0 Calocybe
Ich versuche das folgende Skript (Form-Mailer), welches ich mir hier heruntergeladen habe, einzubinden:
#!/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 "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";
Nachdem ich es beim Provider im cgi-bin-Verzeichnis upgeloadet und aktiviert habe (chmod 755), erschien beim Testen folgende Fehlermeldung.
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Diese Meldung erhielt ich auch beim lokalen Test unter Sambar-Server.
Muß ich das Skript noch anpassen oder gibt es hier oder vielleicht im Html-Dokument ein Fehler.
Hi,
Nachdem ich es beim Provider im cgi-bin-Verzeichnis upgeloadet und aktiviert habe (chmod 755), erschien beim Testen folgende Fehlermeldung.
Internal Server Error
was sagt das Error-Log des Servers?
Cheatah
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
use CGI::Carp 'fatalsToBrowser';
Peter
Hallo!
Erstmal modifiziere die Zeile
# -------> E-Mail versenden:
open(MAIL,"$Sendmail_Prog -t") print "Mailprogramm konnte nicht gestartet werden\n";
so, dass da
open(MAIL,"$Sendmail_Prog -t") die("Mailprogramm konnte nicht gestartet werden");
steht.
Und dann lies http://www.teamone.de/selfaktuell/artikel/schroepl03.htm und such den Fehler. (Und falls in Deinem ErrorLog eben jene Message dort oben steht ("Mailprogramm konnte nicht gestartet werden"), dann frag Deinen Provider nach dem Pfad zu sendmail und trag ihn in der Zeile $Sendmail_Prog = "/usr/lib/sendmail" richtig ein.)
So long