Kurti: sendmail

Hi Leuts!

hat jemand ne Idee, wo hier der Wurm ist?

================cut=================

open(MAIL, "$Mailprogramm -t") die "Fehler beim Versenden der Mail: $!";

print MAIL "To: webmaster@danfun.com\n";
print MAIL "From: mailbot@danfun.com DanFunMailbot\n";
print MAIL "Subject: Weiterempfehlung versendet!\n\n";

print MAIL "Von: $Formular{'Name'} $Formular{'Name'}\n";
print MAIL "An:  $Empfaenger\n";
print MAIL "An:  $Formular{'NameKumpel1'} $Formular{'NameKumpel2'}\n";
print MAIL "Msg: $Formular{'Nachricht'}\n";
close(MAIL);

================cut=====================

Dank schonmal im Voraus!

Ein schoenes Wochenden Euch allen!

denn bis dann,
                                Kurti

  1. Hallo Kurti,

    "T'ere Oida,

    waast wos, moch da dein Schaas söba. I hob aa a Recht auf mei wouchneind. Und scho goa net waunst nidamoi sogn kaunst, wos aigentli net get.

    Bis daun"
    (Übersetzung ins 'Deutsche' wird bei Bedarf nachgeliefert ;-))

    So ungefähr würde die Reaktion ausfallen, wenn bei uns jemand einen Kollegen oder Freund sowas vors Gesicht knallen würde.

    Warum glaubst Du, daß es dir hier besser gehen würde.
    Du sagts nicht was nicht funktioniert, was Du schon probiert hast, welches Umfeld Du benutzt usw.

    Bitte sei mir nicht böse, aber ich empfinde das schon etwas frech.
    Wie heißts so schon in Monopoly: "Geh zurück zum Start und kassiert keine 200"

    Auch ein schönes Wochenende noch,

    Klaus

    1. Hallo Kurti,

      Hi Klaus,

      "T'ere Oida,

      ?

      waast wos, moch da dein Schaas söba. I hob aa a Recht auf mei wouchneind. Und scho goa net waunst nidamoi sogn kaunst, wos aigentli net get.

      Bis daun"
      (Übersetzung ins 'Deutsche' wird bei Bedarf nachgeliefert ;-))

      Das ist Bayrisch, oder?!  Pass auf, ich bin fast schon Preusse! ;-))

      Als ich die abgesendet hatte fiel es mir einn, da wars zu spaet... :_()  Sorry!

      Also, es gibt nur 500er aus. Wenn ich allerdings die zeilen zwischen open... und close...  aus# dann laeuft alles nach Plan. Aber was kann da falsch sein?!

      denn bis dann,
                               Kurti

      1. Hallo Kurti,
        Hi Klaus,

        "T'ere Oida,
        ?

        "T'ere" eq "Ich habe die Ehre"
        "Oida" eq "Alter"
        (Ein Ausflug ins winerische)

        waast wos, moch da dein Schaas söba. I hob aa a Recht auf mei wouchneind. Und scho goa net waunst nidamoi sogn kaunst, wos aigentli net get.

        Bis daun"
        (Übersetzung ins 'Deutsche' wird bei Bedarf nachgeliefert ;-))
        Das ist Bayrisch, oder?!  Pass auf, ich bin fast schon Preusse! ;-))

        nein, österreichisches Kauderwelch, von überall etwas, wahrscheinlich hauptsächlich steirisch. Herkunftsmäßig ist das schwer zu bestimmen, da es in Österreich eigentlich so ungefähr 2000 eigenständige Sprachen gibt, die nur entfernt etwas miteinander zu tun haben, wenn überhaupt ;-)

        "di tram foat gaunz pomale, weu des wossa in da lawua sunst ausseschlanzt" eq "Die Straßenbahn fährt ganz langsam, weil das Wasser im Waschbecken sonst herausspritzt"

        Ich bin zwar kein Sprachwissenschaftler, aber Englisch (Tram), tschechisch (pomale), französisch (lawua, wie schreibt sich das eigentlich in franz. Lavoir?) und etwas deutsch ist sicherlich drin.

        Grüße
          Klaus

        1. Hallo Kurti,
          Hi Klaus,

          "T'ere Oida,
          ?
          "T'ere" eq "Ich habe die Ehre"
          "Oida" eq "Alter"
          (Ein Ausflug ins winerische)

          Ahhja. :-))

          Das ist Bayrisch, oder?!  Pass auf, ich bin fast schon Preusse! ;-))
          nein, österreichisches Kauderwelch, von überall etwas, wahrscheinlich hauptsächlich steirisch. Herkunftsmäßig ist das schwer zu bestimmen, da es in Österreich eigentlich so ungefähr 2000 eigenständige Sprachen gibt, die nur entfernt etwas miteinander zu tun haben, wenn überhaupt ;-)

          Hmmm, das koennte erklaeren, warum die Oesterreiche immer etwas langsamer sind... :-))   Au, ahh,  nich hauen. ;-)

          denn bis dann,
                                 Kurti

          1. Hallo Kurti,

            Hmmm, das koennte erklaeren, warum die Oesterreiche immer etwas langsamer sind... :-))   Au, ahh,  nich hauen. ;-)

            Nicht langsamer, nur flexibler ;-)

            Grüße
              Klaus

            1. Hallo Kurti,

              Hmmm, das koennte erklaeren, warum die Oesterreiche immer etwas langsamer sind... :-))   Au, ahh,  nich hauen. ;-)

              Nicht langsamer, nur flexibler ;-)

              Das halte ich fuer ein Geruecht!  ;-)

              Denn bis dann,
                                     Kurti

              1. Hallo Kurti,

                Hmmm, das koennte erklaeren, warum die Oesterreiche immer etwas langsamer sind... :-))   Au, ahh,  nich hauen. ;-)
                Nicht langsamer, nur flexibler ;-)
                Das halte ich fuer ein Geruecht!  ;-)

                Und so leben wir mit den Vorurteilen.

                Grüße
                  Klaus

                1. Hallo Kurti,

                  Hi Klaus!

                  Hmmm, das koennte erklaeren, warum die Oesterreiche immer etwas langsamer sind... :-))   Au, ahh,  nich hauen. ;-)
                  Nicht langsamer, nur flexibler ;-)
                  Das halte ich fuer ein Geruecht!  ;-)
                  Und so leben wir mit den Vorurteilen.

                  Erfahrungen. :-))  Nein, ich hab nix gegenb Oesterreicher!

                  denn bis dann,
                                             Kurti

  2. Hai!

    hat jemand ne Idee, wo hier der Wurm ist?

    Naja, Ideen hab ich viele, vermissen tu' ich hier das Problem ;-)

    print MAIL "To: webmaster@danfun.com\n";

    ^ den lass weg

    Maskieren musst Du nur das @.

    Viele Grüße aus Baden, Rolf

    1. Hai!

      Moin!

      hat jemand ne Idee, wo hier der Wurm ist?
      Naja, Ideen hab ich viele, vermissen tu' ich hier das Problem ;-)

      Sorry!  
      Also er kommt immer mit nem Premature end of script headers: .../empfehl.cgi

      print MAIL "To: webmaster@danfun.com\n";
                                          ^ den lass weg
      Maskieren musst Du nur das @.

      Ahhja, das ist ja schonmal was!  Hat aber immernoch das gleiche Problem.. :-()

      denn bis dann,
                                 Kurti

      1. hi ho

        Also er kommt immer mit nem Premature end of script headers: .../empfehl.cgi

        aha. also hast du ein problem mit der brauserausgabe...

        hast du irgendwo print "Content-type: text/html\n\n" stehen?
        und danach vielleicht noch irgendeinen html-text fuer den user...?

        cua

        n.d.p.

        1. hi ho

          Moins!

          aha. also hast du ein problem mit der brauserausgabe...
          hast du irgendwo print "Content-type: text/html\n\n" stehen?
          und danach vielleicht noch irgendeinen html-text fuer den user...?

          Kann es eigendlich nicht sein...  Ich poste mal das ganze Script..:

          ==================cut===============

          #!/usr/local/bin/perl
          use CGI::Carp qw(fatalsToBrowser);

          Daten vom Formular bekommen

          read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
          print "Content-type: text/html\n\n";

          Daten auswerten

          @Formularfelder = split(/&/, $Daten);
          foreach $Feld (@Formularfelder)  
          {
            ($name, $value) = split(/=/, $Feld);  
            $value =~ tr/+/ /;
            $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
            $value =~ s/<!--(.\n)*-->//g;      
            $Formular{$name} = $value;  
          }

          $mailprog = "/usr/sbin/sendmail";
          $subject = "hab hier \‚ne interessante Site gefunden!";
          $sendermail = $Formular{'Email'};
          $sendername = $Formular{'Name'};
          $Empfaenger = $Formular{'EmailKumpel1'} + $Formular{'EmailKumpel2'};

          Daten an Sendmail schicken...

          open(MAIL,"$Mailprogramm -t") or die "Fehler beim Versenden der Mail: $!";

          print MAIL "To: $Empfaenger\n";
          print MAIL "From: $sendermail $sendername\n";
          print MAIL "Subject: $subject\n\n";

          print MAIL "Hallo!\n";
          print MAIL " \n";
          print MAIL "$Formular{'Name'} hat gerade DanFun.com einen Besuch abgestattet und meint Du solltest\n";
          print MAIL "auch mal hier vorbeischauen!\n";
          print MAIL "Dieser Meinung sind wir auch. Also, die Adresse lautet\n";
          print MAIL "                            http://www.DanFun.com\n";
          print MAIL " \n";
          print MAIL "Na dann bis gleich!\n";
          print MAIL " \n";
          print MAIL "$Formular{'Name'} schrieb noch folgendes:\n";
          print MAIL " \n";
          print MAIL "$Formular{'Nachricht'}\n";
          print MAIL " \n";
          close(MAIL);

          open(MAIL, "$Mailprogramm -t") die "Fehler beim Versenden der Mail: $!";

          print MAIL "To: webmaster@danfun.com\n";
          print MAIL "From: mailbot@danfun.com DanFunMailbot\n";
          print MAIL "Subject: Weiterempfehlung versendet!\n\n";

          print MAIL "Von: $Formular{'Name'} $Formular{'Email'}\n";
          print MAIL "An:  $Empfaenger\n";
          print MAIL "An:  $Formular{'NameKumpel1'} $Formular{'NameKumpel2'}\n";
          print MAIL "Msg: $Formular{'Nachricht'}\n";
          close(MAIL);

          Danke sagen...

          print << "[END]";

          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
          <title>Vielen Dank, Formular{'Name'}!</title>
          </head>

          <body bgcolor="#000000" text="#FFFFFF" topmargin="0" leftmargin="0">

          ne ganze Menge html deleted

          </body>
          </html>
          [END]
          EOP

          ====================cut=====================0

          Das wars...

          denn bis dann,
                                                  Kurti

          1. re hi!

            Kann es eigendlich nicht sein...  Ich poste mal das ganze Script..:

            in diesem fall eine gute idee... .-)

            #!/usr/local/bin/perl

            use strict;

            use CGI::Carp qw(fatalsToBrowser);

            Daten vom Formular bekommen

            use CGI;
            my $q=new CGI;

            alles was jetzt kommt, raus

            read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});
            print "Content-type: text/html\n\n";

            Daten auswerten

            @Formularfelder = split(/&/, $Daten);
            foreach $Feld (@Formularfelder)

            »»  {

            ($name, $value) = split(/=/, $Feld);  
              $value =~ tr/+/ /;
              $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
              $value =~ s/<!--(.\n)*-->//g;      
              $Formular{$name} = $value;

            »»  }

            so, hier weiter

            my $mailprog...

            $mailprog = "/usr/sbin/sendmail";

            ^^^^^^^^ <-- siehe weiter unten..

            my...

            $subject = "hab hier \‚ne interessante Site gefunden!";

            my...

            $sendermail = $Formular{'Email'};

            =$q->param('Email');

            und so weiter (my nicht vergessen...)

            $sendername = $Formular{'Name'};
            $Empfaenger = $Formular{'EmailKumpel1'} + $Formular{'EmailKumpel2'};

            Daten an Sendmail schicken...

            open(MAIL,"$Mailprogramm -t") or die "Fehler beim Versenden der Mail: $!";

            ^^^^^^^^^^^^^<-- welches Mailprogramm (s.o.) ??

            die folgenden Printanweisungen machen sich auch recht gut als HERE-Document...

            print MAIL <<EOMAIL;
            ...
            EOMAIL

            close(MAIL);

            etc.

            print << "[END]";

            ^ <-- hier darf _kein_ leerzeichen hin!
            ...

            [END]
            EOP <-- wasn das?

            so, hier nochmal ne zusammengefasste Version, die bei mir entstanden ist (syntaktisch korrekt, allerdings ungetestet)
            vergleiche sie bitte mit deiner (gelegentlich zeichen fuer zeichen), damit du aus deinen fehlern lernst... .-)

            ==== schnipp ====
            #!/usr/bin/perl

            use strict;

            use CGI::Carp qw(fatalsToBrowser);
            use CGI;

            Daten vom Formular bekommen

            my $q=new CGI;

            print "Content-type: text/html\n\n";

            my $mailprog = "/usr/sbin/sendmail";
            my $subject = "hab hier \‚ne interessante Site gefunden!";
            my $sendermail = $q->param('Email');
            my $sendername = $q->param('Name');
            my $empfaenger = $q->param('EmailKumpel1') . $q->param('EmailKumpel2');
            my $k1=$q->param('NameKumpel1');
            my $k2=$q->param('NameKumpel2');
            my $nachricht = $q->param('Nachricht');

            Daten an Sendmail schicken...

            open(MAIL,"$mailprog -t") or die "Fehler beim Versenden der Mail: $!";

            print MAIL <<EOMAIL;
            To: $empfaenger
            From: $sendermail $sendername
            Subject: $subject

            Hallo!

            $sendername hat gerade DanFun.com einen Besuch abgestattet und meint Du solltest
            auch mal hier vorbeischauen!
            Dieser Meinung sind wir auch. Also, die Adresse lautet
                                        http://www.DanFun.com

            Na dann bis gleich!

            $sendername schrieb noch folgendes:

            $nachricht

            EOMAIL
            close(MAIL);

            open(MAIL, "$mailprog -t") or die "Fehler beim Versenden der Mail: $!";

            print MAIL <<EOMAIL;
            To: webmaster@danfun.com
            From: mailbot@danfun.com DanFunMailbot
            Subject: Weiterempfehlung versendet!

            Von: $sendername $sendermail
            An:  $empfaenger
            An:  $k1 $k2
            Msg: $nachricht
            EOMAIL

            close(MAIL);

            Danke sagen...

            print <<"[END]";
            <html>
            <head>
            <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
            <title>Vielen Dank, $sendername!</title>
            </head>

            <body bgcolor="#000000" text="#FFFFFF" topmargin="0" leftmargin="0">

            ne ganze Menge html deleted

            </body>
            </html>
            [END]

            end of source

            ==== schnapp ====

            cua

            n.d.p.

            1. re hi!

              Juhu!

              Kann es eigendlich nicht sein...  Ich poste mal das ganze Script..:

              in diesem fall eine gute idee... .-)

              Yep! :-)

              Danke dafuer!!  ich werd das morgen rueberspielen.

              denn bis dann,

              Kurti

            2. Zwei Verbesserungsvorschlaege:

              #!/usr/bin/perl

              #!/usr/bin/perl -w

              open(MAIL,"$mailprog -t") or die "Fehler beim Versenden der Mail: $!";

              [...]

              close(MAIL);

              close MAIL or die "can't close sendmail nicely: $!";

              Erst beim Schliessen steht fest, ob der Aufruf tatsaechlich erfolgreich war.

              Peter

              1. hi ho

                #!/usr/bin/perl -w

                die Warnungen hol ich mir immer waehrend des Schreibens ab... .-)

                close MAIL or die "can't close sendmail nicely: $!";

                da hast du allerdings recht .-)

                cua

                n.d.p.