webandy: CGI mailer

Beitrag lesen

Hallo!

Ich bie ein begeisterter Fan von "selfhtml.de" - die Seite ist echt große Hilfe für alle, die sich für Web-Seiten interessieren. Da ich auch dazu gehöre und selber Internet Seiten gestalten will, habe ich einen Web-Designer Kurs absolviert. Der Kurs war schon ok, aber es hat an einiges gefehlt... und da beginnt mein Problem:

Im Kurs ist nicht genau erklärt worden, wie CGI funktionert, wie Daten aus einem Kontakrformular ausgelesen und weitergesendet werden. Jetzt habe ich mir eine eigene Web-Seite gemacht (www.thewebandy.de) natürlich mit einem Kontaktformular - das aber nicht funktionsfähig ist.

Auf selfHTML habe ich den CGI-Script gefunden, weiss aber nicht genau was und wie ich zu ändern habe... Kann mir jemand dabei kurz helfen?

Ich kopiere hier den Script ein:

#!/usr/bin/perl

-------> Individuelle Parameter des Skriptes - bitte anpassen!

--> SMTP-Programm zum Versenden der Mail:

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

--> Ziel-Mailadresse, an die gesendet werden soll:

$mailto ='thewebandy@googlemail.com';         -  das ist die e-mail Adresse, wo der Inhalt gesendet werden soll - richtig so ??

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

$datei/resultpage.html = $query->param('return'); # ---> URL für Dankeseite          -   meine "Dankeschön"-Seite / oder soll ich es mit http://www.thewebandy.de/datei/resultpage.html angeben   ?

$subject = $query->param('subject'); # ---> E-Mail-Subject

-------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln

VERHINDERT sonst möglichen MISSBRAUCH des Skripts

$subject =~ s/\s/ /g;

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

$mailtext = "";
foreach(@names) {
 $name = $_;
 @values = "";
 @values = $query->param($name);
 if($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";                      - muss ich da nochmal mailto:thewebandy@googlemail.com eingeben  ???

print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);

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

print "Location: $datei/resultpage.html\n\n";        -   nochmal angeben so, oder mit "http://www.thewebandy.de/datei/resultpage.html" ?

Sind diese Änderungen ok? Muss noch was geändert werden???

Ich bedanke mich für jede Hilfe!

Webandy

András Nagy[/code]