webandy: CGI mailer

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]

  1. Hallo!
    Ich bie ein begeisterter Fan von "selfhtml.de" -

    Das leider bezüglich Perlscripte hoffnungslos überaltert ist.

    Meine Alternative:
    http://www.elcappuccino.ch/cgi/mail/docserv.pl
    http://www.elcappuccino.ch/cgi/mail/sfm_wrapper.pl

    Mein Mailer-Modul zum einbinden in bestehende Perl-Scripte.

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. Hallo Beat!

      Danke für deine Antwort und die Links. Allerdings bin ich ein absoluter Anfänger, mit dem Script kann ich leider nicht allzuviel anfangen...

      Würde mir das "Minimalbeispiel" ausreichen? Oder soll ich den kompletten Script nehmen? Ist das der Script im grau hinterlegten Feld? Was alles muss man daran anpassen...? Sorry, ich fühle mich jetzt echt blöd, aber in meinem Web-Designer Kurs war CGI irgendwie vergessen worden... :-((

      Ich weiss, dass ich den Script in das cgi-bin Verzeichnis hochladen und mit dem Recht 755 versehen soll. Im HTML Code meiner Seite kann ich auch den Pfad natürlich angeben und eine "Danke für Ihre Nachricht"-Seite soll als Resulpage folgen. Aber den Script kapiere ich leider nicht.

      Könntest du mir freundlicherweise ein bisschen helfen...? Ich wäre echt dankbar.

      Meine e-mail : orion70@hotmail.de

      Danke nochmal!

      webandy

      Hallo!
      Ich bie ein begeisterter Fan von "selfhtml.de" -

      Das leider bezüglich Perlscripte hoffnungslos überaltert ist.

      Meine Alternative:
      http://www.elcappuccino.ch/cgi/mail/docserv.pl
      http://www.elcappuccino.ch/cgi/mail/sfm_wrapper.pl

      Mein Mailer-Modul zum einbinden in bestehende Perl-Scripte.

      mfg Beat

      1. Hallo Beat!

        Danke für deine Antwort und die Links. Allerdings bin ich ein absoluter Anfänger, mit dem Script kann ich leider nicht allzuviel anfangen...

        Würde mir das "Minimalbeispiel" ausreichen? Oder soll ich den kompletten Script nehmen? Ist das der Script im grau hinterlegten Feld? Was alles muss man daran anpassen...? Sorry, ich fühle mich jetzt echt blöd, aber in meinem Web-Designer Kurs war CGI irgendwie vergessen worden... :-((

        Der Code unter
        SelfFormmail.pm

        musst du in eine Datei kopieren und mit diesem Dateinamen speichern.
        (Achte auf die Kodierung utf8)
        Diese Datei musst du in deinem CGI-Bereich speichern.

        Du kannst den Code aus dem Wrapperscript (ganz unten) verwenden als Hauptscript.
        (bitte anpassen)
        Dabei kannst du einige Felder, die du nicht brauchst, einfach auskommentieren.
        Dieses Script kannst du dann verlinken.

        Ich weiss, dass ich den Script in das cgi-bin Verzeichnis hochladen und mit dem Recht 755 versehen soll.

        Das Hauptscript mit 755
        SelfFormmail.pm.pm mit 744

        Im HTML Code meiner Seite kann ich auch den Pfad natürlich angeben und eine "Danke für Ihre Nachricht"-Seite soll als Resulpage folgen. Aber den Script kapiere ich leider nicht.

        Das Script gibt automatisch Vorschauen und nach Erfolg eine Ausgabe zur Archivierung aus. (Eine "Danke"-Seite lässt das wichtigste oft vermissen.)

        Könntest du mir freundlicherweise ein bisschen helfen...? Ich wäre echt dankbar.

        Sage mir, welche Felder du brauchst, und ich schreibe dir den Kongigurationsabschnitt.

        Hast du effektiv versucht mir mit dem Mailer eine Mail zukommen zu lassen?

        mfg Beat

        --
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische
  2. nms TFMail gibt's mit umfassender Doku, selbstverständlich auch zum Thema Installation, sowie netter Hilfeleistung bei Problemen.

    1. nms TFMail gibt's mit umfassender Doku, selbstverständlich auch zum Thema Installation, sowie netter Hilfeleistung bei Problemen.

      Hilfe!

      Im Mail-Header fehlen ein paar Angaben:

      Content-Type: ???
      Content-Transfer-Encoding: ???

      Und das Subject-Encoding ist auch wieder völlig zu kurz gekommen ;)

      Ne, nicht empfehlenswert.

      Hotti

      1. Im Mail-Header fehlen ein paar Angaben:

        Das ist nicht wahr, wie jeder durch ausprobieren leicht feststellen kann.

        Und das Subject-Encoding ist auch wieder völlig zu kurz gekommen ;)

        Das ist wahr, wenn man als Betreiber des Formmailers den Aufwand betreibt, eine Zeile zur Konfiguration hinzuzufügen, um den vorgegebenen Betreff "WWW Form Submission"  absichtlich durch einen ersetzen, der Nicht-ASCII-Zeichen enthält, dann das sieht bei dem Betreiber des Formmailers, also dem einzigen Empfänger, der die Bestätigungsnachricht zu Gesicht bekommt, u.U. blöd aus, tut aber nicht weiter weh, dem heiligen Postel sei Dank.

        Danke dafür, dass du den Bug an die Maintainer berichtet hast. Ach ne Moment, hast du ja gar nicht.

        Hotti, du bist und bleibst ein Unikat.