Struppi: Perl Form Mailer will nicht!

Beitrag lesen

Also erstmal, es ist sinnvoll auf das Postingf das sich die Antwort bezieht und dann auch den Inhalt auf den man sich bezieht stehen zu lassen.

Da ich außer html nicht so fit bin im programmieren habe ich mir einen formmailer bei selfhtml runtergeladen... erstens tut es der nicht und zweitens will ich eine variable (id) übergeben sobald einer meine seite betritt das hatte ich so gedacht www.myspace.de?48343

tut nicht, ist natürlich eine sehr präzise Fehlerbeschreibung, mit der erstmal keiner was anfangen kann, bei mir tuten auch kein Programm, es erzeugt entweder Fehlermeldungen und es erfüllt gewünschte Funktionen nicht, wenn etwas nicht i.O. ist.

Aber zurück zum Skript, das ist leider auch nciht optimal, da keine Warnungen angeziegt werden und use strict nicht verwendet wird, dadurch wird die Fehlersuche leider erschwert (ein Fehler des selfhmtl Beispiel)

Allerdings müßtest du um diesen Mackel zu beheben Änderungen an dem Skript vornehmen, die evtl. deine Kenntnisse überfordern (alle Variabeln deklarieren)

selfmail.pl:

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

--> SMTP-Programm zum Versenden der Mail:

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

Hier könnte es Sinnvoll sein die existenz des Programms zu prüfen.

die "Sendmail Programm existiert nicht!" unless -e $Sendmail_Prog;

Damit du die Meldung angeziegt bekommst, musst du in deinem Skript noch am Anfang ein: use CGI::Carp qw/fatalsToBrowser/; einfügen. (ist sowieso sinnvoll bei der Fehelrsuche)

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

Hier ist es u.U. sinnvoll den Grund zu erfahren:

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

Die Meldung erscheint allerdings im Errorlog, ich weiß nicht ob du darauf Zugriff hast.

Besser wäre:
open(MAIL,"|$Sendmail_Prog -t") || die "Mailprogramm konnte nicht gestartet werden, weil: $!\n";

<script type="text/javascript">
if (window.location.search != "")
var id= window.location.search;
</script>
...
<FORM ACTION="../cgi-bin/selfmail.pl" METHOD="POST">

<input type="hidden" name="return" value="www.whatever.de/danke.html">
<input type="hidden" name="delimiter" value=": ">
<input type="hidden" name="subject" value="Feedback-Formular">
<input type="hidden" name="refferal" value="id"> // <-- hier soll der die variable anzeigen ich ich mit script auslese!

Das ist wieder ein anderes Problem, auf die schnelle kannst du sowas machen:

<script type="text/javascript">
if (window.location.search != "") document.forms[0].id.value = window.location.search;
</script>

Achtung! Das muss hinter dem Code des GANZEN Formulares stehen und das sendmail Formular muss das erste im HTML Code sein.

ich hoffe mir kann jemand helfen und erbarmt sich auch mir zu helfen!

Auch wenn ich ein grosser Fan von Perl bin, nutze ich für sowas lieber PHP, damit läßt sich leicht eine HTML Seite mit dem Formular und dem Skript bauen. Da du das dann ganz normal in deine Seiten Struktur einbauen kannst, entstehen weniger Probleme.

Struppi.

--
Javascript ist toll (Perl auch!)