Josef Reichardt: formmailer - ich hasse sie!!!

hi!
Ich bins wieder!

ich glaube es nun wenigstens ansatzweise verstanden zu haben!
Aber 100%ig sicher bin ich mir nicht!
Es funzt nicht, also irgendwas ist immer noch falsch!
Wäre schön wenn ihr mir noch mal helfen könnt...

termine.pl -------------------------------------------

use Net::SMTP;
$smtp = Net::SMTP->new('localhost');
$smtp->mail($ENV{USER});
$smtp->to('webmaster@crusader-mc.de');
$smtp->data();
$smtp->datasend("To: webmaster@crusader-mc.de\n");
$smtp->datasend("Subject: $subject\n\n");
$smtp->datasend("Volgender Termin soll in die Liste eingetragen werden:/n/nStart: $start\nEnde: $end\nZeit: $time/nOrt: $place/nArt: $type/n/nAnsprechpartner: §name");
$smtp->dataend();
$smtp->quit;
print "Location: '../termine/termine.shtml'";

------------------------------------------------------

bin mir in zeile 8 und in der letzten nicht ganz siecher ob die stimmen!
Werden Zeilenumbrüche berüchtigt?
Wie sehen Kommentare in solchen scripts aus (html: <!--  ...  -->)

THX

Josef

  1. hallo

    $smtp->datasend("Volgender Termin soll in die Liste eingetragen werden:/n/nStart: $start\nEnde: $end\nZeit: $time/nOrt: $place/nArt: $type/n/nAnsprechpartner: §name");

    wenn schon \n, nicht /n. und "folgende" schreibt man mit f.

    Werden Zeilenumbrüche berüchtigt?

    meiner meinung nach sind sie schon längst berüchtigt...

    Wie sehen Kommentare in solchen scripts aus (html: <!--  ...  -->)

    ich bin ein kommentar

    1. hallo!

      Danke für deine Hilfe!
      Vor lauter stress mit dem sch... passieren mir schon lauter kleine Fehler! Danke für deine Korektur!

      Werden Zeilenumbrüche berüchtigt?
      meiner meinung nach sind sie schon längst berüchtigt...

      Hab mich hier auch verschreiben! berücksichtigt habe ich gemeint!

      Passt sonst alles?

      1. Danke für deine Hilfe!
        Vor lauter stress mit dem sch... passieren mir schon lauter kleine Fehler! Danke für deine Korektur!

        Werden Zeilenumbrüche berüchtigt?
        meiner meinung nach sind sie schon längst berüchtigt...

        Hab mich hier auch verschreiben! berücksichtigt habe ich gemeint!

        ja, sie werden im mail auch angezeigt.

        Passt sonst alles?

        keine ahnung, ich kann kaum perl ;-)

        mfg, hans

  2. Es funzt nicht, also irgendwas ist immer noch falsch!
    Wäre schön wenn ihr mir noch mal helfen könnt...

    Aber bitte.

    termine.pl -------------------------------------------

    use Net::SMTP;

    Du vergist:

    use strict;
    (vermutlich hast du auch keine Warnungen eingeschaltet, kein Wunder, das dir die Fehlersuche nicht so leicht fällt, wenn du die Werkzeuge dafür verschmähst)

    $smtp = Net::SMTP->new('localhost');

    my $smtp = Net::SMTP->new('localhost');

    $smtp->mail($ENV{USER});
    $smtp->to('webmaster@crusader-mc.de');
    $smtp->data();
    $smtp->datasend("To: webmaster@crusader-mc.de\n");
    $smtp->datasend("Subject: $subject\n\n");
    $smtp->datasend("Volgender Termin soll in die Liste eingetragen werden:/n/nStart: $start\nEnde: $end\nZeit: $time/nOrt: $place/nArt: $type/n/nAnsprechpartner: §name");

    Ich korrigier mal kein rechtschreibfehler, weil man soll ja nicht mit Steinen werfen im Glashaus ;-)

    $smtp->datasend("Volgender Termin soll in die Liste eingetragen werden:/n/nStart: $start\nEnde: $end\nZeit: $time/nOrt: $place/nArt: $type/n/nAnsprechpartner: $name");

    eventuell ist das Fehler (du hast uns nicht gesagt, was nicht "funzt"), aber ohne Fehlermeldung schwer zu sagen.

    $smtp->dataend();

    Soweit ich das Modul kenne, ist das wohl richtig.

    $smtp->quit;
    print "Location: '../termine/termine.shtml'";

    Das ist allerdings ein falscher header.
    print "Location: ../termine/termine.shtml\n\n";

    Werden Zeilenumbrüche berüchtigt?

    Je nachdem was für einen Type du angibst - hier gar keinen - dann geh ich mal davon aus, das die Mail text/plain ist, somit werden newlines berücksichtigt.

    Wie sehen Kommentare in solchen scripts aus (html: <!--  ...  -->)

    Das ist ein HTML Kommentar, wo willst du den in deinem Perl Skript einbauen? Und warum?

    Ausserdem empfehle ich dir noch use CGI::Carp qw/fatalsToBrowser/; in deine CGI Skripte einzubauen, dann siehst du auch im Browser, was für ein Fehlermeldung Perl anzeigt.

    Struppi.

    1. Hi!

      Du vergist:

      use strict;

      Passt die platzierung (siehe unten)?

      (vermutlich hast du auch keine Warnungen eingeschaltet, kein Wunder, das dir die Fehlersuche nicht so leicht fällt, wenn du die Werkzeuge dafür verschmähst)

      Welche Warnungen?
      wenn du die option in den internetoptionen (Scriptfehler anzeigen) meinst, die ist aktiviert!

      Es kommt der error 500!

      Ausserdem empfehle ich dir noch use CGI::Carp qw/fatalsToBrowser/; in deine CGI Skripte einzubauen, dann siehst du auch im Browser, was für ein Fehlermeldung Perl anzeigt.

      Wo soll ich dass einbauen?

      Momentan schauts so aus:

      ------------------------------------------------
      use Net::SMTP;
      use strict;
      my $smtp = Net::SMTP->new('localhost');
      $smtp->mail($ENV{USER});
      $smtp->to('webmaster@crusader-mc.de');
      $smtp->data();
      $smtp->datasend("To: webmaster@crusader-mc.de\n");
      $smtp->datasend("Subject: $subject\n\n");
      $smtp->datasend("Folgender Termin soll in die Liste eingetragen werden:\n\nStart: $start\nEnde: $end\nZeit: $time\nOrt: $place\nArt: $type\n\nAnsprechpartner: §name");
      $smtp->dataend();
      $smtp->quit;
      use CGI::Carp qw/fatalsToBrowser/;
      print "Location: ../termine/termine.shtml\n\n";
      ------------------------------------------------

      Schauts euch selbst an:
      www.crusader-mc.de

      cu

      Josef

      1. Hi,

        Welche Warnungen?

        #!/usr/bin/perl -w
                         ^
                         |
        -----------------+