ein hilfloser mafoe: fromailer, der an *.pl sendet und es als email an mich ausgibt

Hallo,
mittlerweilile bin ich am verzweifeln... da ich wie gesagt nicht wirklich ahnung habe und mir auch viele hilfeseiten nicht viel sagen, binich nun soweit, dass mein formular (http://www.wallwitzburg.de/mitglied_formular.php)eigntlich richtig seien müsste und trotzdem bekomme ich beim abschicken des formulars den serverfehler 500(interner)

lg
ein hilfloser mafoe

zum verarbeiten script:

#!/usr/bin/perl  <-habe ich keine Information ob es richtig ist, zumindest gibt es keine datei "perl" in diesem unterordner.

--> SMTP-Programm zum Versenden der Mail:

$Sendmail_Prog = "/usr/lib/sendmail";<-habe ich keine Information ob es richtig ist, zumndest gibt es keine datei sendmail in diesem unterordner

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

$mailto = "info@wallwitzburg.de";

-------> 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
$returnhtml = $query->param('return');    # ---> URL für Dankeseite
$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";
print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);

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

print "Location: $returnhtml\n\n";
#!/usr/bin/perl

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

--> SMTP-Programm zum Versenden der Mail:

$Sendmail_Prog = "/usr/lib/ssh/sftp-server";

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

$mailto = "info@wallwitzburg.de";

-------> 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
$returnhtml = $query->param('return');    # ---> URL für Dankeseite
$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";
print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);

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

print "Location: $returnhtml\n\n";

  1. Hallo,

    #!/usr/bin/perl  <-habe ich keine Information ob es richtig ist, zumindest gibt es keine datei "perl" in diesem unterordner.

    darin liegt vermutlich auch der Fehler.

    Was ist Dir für eine Laus über die Leber gelaufen, daß Du die Funktion mail() nicht nutzen magst?

    Gruß aus Berlin!
    eddi

    --
    Wer Rechtschreibfehler findet, darf sie behalten.
    1. huhu,
      das heißt?
      in self htm wurde das so erklärt.
      wenn ich die funktion mail nehme, kann ich dann nicht gleich das ganzemit nem html machen, das gleich ne email sendet?

      langsam seh ich ar nichmehr durch.

      :(

      außerdem muss ich die felder in der bei mir ankommenden mail in einer bestimmten reihenfolge bekommen und der nutzer soll vor dem senden nochmal alle seine daten sehen und die dan auch per mail zugeschcikt bekommen(als die slebe mail wie ich)

      :(

      lg

      1. Hi there,

        Erstens: Warum bleibst Du nicht beim ursprgl. Thread?

        Zweitens: Was schreibst Du ständig von PHP, wenn Du ein Perlscript verwenden möchtest?

        Drittens: Wieso glaubst Du, daß man mit zwei Büroklammern und einer alten Batterie einen Atomreaktor bauen kann?

        Was erwartest Du jetzt?

        1. Hallo, 1. weil beim ursprünglichen thema keiner mehr antwortet.

          2. ja Perl..sorry, ich shcrieb shcon, das ich wenig ahnung hab.

          Naja, ich weiß halt nicht wo der Fehler liegt. :(
          Wir haben leider nicht die finanziellen Möglichkeiten die HP programmieren zu lassen.
          lg

          1. Hi there,

            Naja, ich weiß halt nicht wo der Fehler liegt. :(

            Beim Perlskript kann ich es Dir auch nicht sagen. Aber falls Du es doch in PHP lösen möchtest, nur zum Prinzip:

            Nehmen wir an, Du hast ein Forumular mit dem Ziel action="sende.php",
            und Du hast im Formular die Eingabfelder name, email, betreff und inhalt (jeweils <input type="text" name="name" etc...)

            dann muß in Deinem PHPSkript stehen: (Sämtliche Sicherheitsüberlegungen einmal beiseite gewischt)

            <?

            $meineEmailAdresse = "Wasweissich@irgendwo.de"; (Brauchen wir für Dich)
            $mailheader="From: irgendwas@irgendwo.com";
            $mailinhalt=$name." schreibt folgendes:".chr(13).chr(13).$inhalt;

            mail($meineEmailAdresse,$betreff, $inhalt, $_mailheader);

            ?>

            Das ist zwar nur das Prinzip, aber im Grunde genommen sollte es so funktionieren, wenn Du dem Absender auch ein Kontrollemail zukommen lassen willst, schickt Du die Mail ein zweitesmal ab und änderst nur den Adressat:

            mail($email,$betreff, $inhalt, $_mailheader);

            Damit solltest Du und der Absender eine Email bekommen. Ich hoffe, Du  hast das Prinzip verstanden.

            Wir haben leider nicht die finanziellen Möglichkeiten die HP programmieren zu lassen.

            Ich bin sehr betrübt, das zu Lesen...

      2. Hallo mafoe,

        Du bist Legastheniker (wie ich auch)? Wenn ja, nimm Dir folgendes bitte zu Herzen: Lerne eine Programmiersprache und versuche diese zu beherrschen! Der Zwang des unerbittlichen Interpreters/Compilers wird Dir immens helfen können. Aber das nur am Rande.

        wenn ich die funktion mail nehme, kann ich dann nicht gleich das ganzemit nem html machen, das gleich ne email sendet?

        außerdem muss ich die felder in der bei mir ankommenden mail in einer bestimmten reihenfolge bekommen und der nutzer soll vor dem senden nochmal alle seine daten sehen und die dan auch per mail zugeschcikt bekommen(als die slebe mail wie ich)

        Beides ist mit PHP möglich.

        langsam seh ich ar nichmehr durch.

        Du schaffst das. Da bin ich ganz sicher!
        Zunächst würde ich Dich bitten zu erklären, wo genau Du mit PHP bei der Lösung Deines Problems nicht weiter kommst.

        Gruß aus Berlin!
        eddi

        --
        Wer Rechtschreibfehler findet, darf sie behalten.
        1. Hallo,

          Naja ich hatte ein php-script, welches die sachen an ne mailaddy geschrieben hatte. Das bringt mir niox, weil das richtig geordnet und formatiert bei mir ankommen muss. und ich kann diese funktion auch nicht nutzen weil die bei manchen browsern angeblich nicht funktioniert.
          lg

          1. Re:

            Naja ich hatte ein php-script, welches die sachen an ne mailaddy geschrieben hatte. Das bringt mir niox, weil das richtig geordnet und formatiert bei mir ankommen muss. und ich kann diese funktion auch nicht nutzen weil die bei manchen browsern angeblich nicht funktioniert.

            Folgender Vorschalg:

            1. Du vergißt mal ganz schnell alles, was Du glaubst in Bezug auf PHP zu wissen!
            2. Du erstellst eine genaue Definition, was Du wie formatiert haben willst!
            3. Wir werden Dir Stück für Stück zeigen, was Du lesen und verstehen muß.

            0 oder 1 - ja oder nein?

            Gruß aus Berlin!
            eddi

            --
            Wer Rechtschreibfehler findet, darf sie behalten.
            1. Hallo eddi,
              das ist ganz lieb von dir das du mir soetwas vorschlägst.
              ich vergesse hiermit alles.

              Also mal ganz ruhig erklärt brauche ich ein formular, dieses, welches ich schon erstellt habe

              http://www.wallwitzburg.de/mitglied_formular.htm

              Wenn der Nutzer das Formular ausfüllt sol er, bevor es abgeschickt wird nocheinmal sehen was er eingegeben hat (feststehend) und dann entweder auf ändern drücken können oder auf senden.

              Dann soll ich eine mail und der eintragende (falls mail angegeben) erhalten.

              Die Mail sollte so aussehn, dass hidden values zwar angezeigt werden, aber die feldnamen nicht. Als eine Mustermail soll quasi mit angaben gefüllt werden, wo fehlstellen sind.
              verstehst du was ich mein?
              liebe grüße
              Mafoe

              1. Re:

                das ist ganz lieb von dir das du mir soetwas vorschlägst.

                Keine Sorge - zum Daumenschraubenverteilen und anlegen anderer Folterwerkzeuge gehe ich nämlich sofort über:

                Bitte erstelle das Formular neu, sodaß es keine Fehler mehr enthält. Dabei wird Dir http://validator.w3.org/check?uri=http%3A%2F%2Fwww.wallwitzburg.de%2Fmitglied_formular.htm helfen.

                ich vergesse hiermit alles.

                Schön ;)

                Bitte erstelle ein PHP-Script mit folgendem Inhalt, lade es hoch und gib die URI bekannt:

                  
                <?php phpinfo(); ?>  
                
                

                Die Mail sollte so aussehn, dass hidden values zwar angezeigt werden, aber die feldnamen nicht. Als eine Mustermail soll quasi mit angaben gefüllt werden, wo fehlstellen sind.
                verstehst du was ich mein?

                Ja.

                Bitte erstelle ein HTML-Dokument, was das Layout enthält, das Deine Mail später haben soll, lade dieses Dokument auf das Web hoch und gib die URI bekannt.

                Gruß aus Berlin!
                eddi

                --
                Wer Rechtschreibfehler findet, darf sie behalten.
                1. ok..gib mir nen moment zeit

                  1. http://validator.w3.org/check?uri=http%3A%2F%2Fwww.wallwitzburg.de%2Fmitglied_formular.htm

                    also bis auf fehler 3 weiß ichjetzt nicht woher die kommen sollen. welcher dokument-typ isses denn sonst?
                    und die tags öffnen und shcließen, ganz normal.

                    lg

                    1. also es sind jetzt noch 3 errors... (wie genannt) wo ich nicht weiß woran es liegen soll

                      lg

                      1. Hallo,

                        also es sind jetzt noch 3 errors... (wie genannt) wo ich nicht weiß woran es liegen soll

                        hauptsächlich mal an deinem phantasievollen DOCTYPE. Wie kommst du auf die Idee, dass es XHTML 4.01 überhaupt schon gibt? XHTML gibt es gerade mal in der Version 1.1, empfohlen wird aber vielfach, noch bei der Version 1.0 zu bleiben. Dein Markup ist im übrigen eine bunte Mischung aus HTML- und XHTML-Syntax.

                        Such dir also am besten erstmal den korrekten DOCTYPE raus; ich denke, mit einer HTML 4.01 Variante liegst du wohl nicht ganz falsch. Dann noch die in XHTML-Stil notierten leeren Tags auf "normales" HTML umrüsten - und dann können wir weitersehen.

                        So long,
                         Martin

                        --
                        Frauen sind wie Elektrizität: Fasst man sie an, kriegt man eine gewischt.
                        1. Hallo,

                          hauptsächlich mal an deinem phantasievollen DOCTYPE. Wie kommst du auf die Idee, dass es XHTML 4.01 überhaupt schon gibt? XHTML gibt es gerade mal in der Version 1.1, empfohlen wird aber vielfach, noch bei der Version 1.0 zu bleiben. Dein Markup ist im übrigen eine bunte Mischung aus HTML- und XHTML-Syntax.

                          Such dir also am besten erstmal den korrekten DOCTYPE raus; ich denke, mit einer HTML 4.01 Variante liegst du wohl nicht ganz falsch. Dann noch die in XHTML-Stil notierten leeren Tags auf "normales" HTML umrüsten - und dann können wir weitersehen.

                          Das oberste Element eines HTML-Dokuments heißt <html>.
                          Und noch ein nützlicher Verweis für die Wahl Deines DOCTYPE.

                          Gruß aus Berlin!
                          eddi

                          --
                          Wer Rechtschreibfehler findet, darf sie behalten.
                          1. Hallo eddi,

                            Das oberste Element eines HTML-Dokuments heißt <html>.

                            ja, allerdings. Ist mir im Eifer des Gefechts gar nicht aufgefallen, dass das fehlt!

                            Ciao,
                             Martin

                            --
                            Auf jeden Menschen auf der ganzen Welt entfallen statistisch gesehen etwa 3000 Spinnen, wie Wissenschaftler jetzt festgestellt haben.
                            Wer will meine haben? Denn ich will sie bstimmt nicht.
                            1. huhu,
                              ja ich habs auch total übersehen, dachte hat was mit den schließenden tags zu tun...

                              so..

                              hab jetzt alles zusammen:

                              http://www.wallwitzburg.de/mitglied_formular.htm

                              http://www.wallwitzburg.de/mitglied_ausgabe.htm

                              http://www.wallwitzburg.de/info.php

                              gruß
                              mafoe

                              1. und der validator meckert wieder..
                                nun bin ich mit meinem latein am ende

                                1. Result: Failed validation,
                                  File: C:\WEB\Wallwitzburg_de\html\mitglied_formular.htm
                                  Encoding: utf-8
                                  Doctype:

                                  Sorry, I am unable to validate this document because on line 29, 42, 44, 51-52, 55-56, 65, 118 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.

                                  1. http://validator.w3.org/check?uri=http%3A%2F%2Fwww.wallwitzburg.de%2Fmitglied_formular.htm

                                    1. Moin,

                                      http://validator.w3.org/check?uri=http%3A%2F%2Fwww.wallwitzburg.de%2Fmitglied_formular.htm

                                      habe mir mal erlaub es etwas valider zu gestalten: http://212.227.99.60/mitglied_formular.htm
                                      Zur Strafe liest Du Dir http://de.selfhtml.org/html/formulare/index.htm mit sämtlichen Unterpunkten durch!

                                      Gruß aus Berlin!
                                      eddi

                                      --
                                      Wer Rechtschreibfehler findet, darf sie behalten.
                                      1. huhu,
                                        diese riesen überschriften passen nicht in unser webseitenkonzept.
                                        die überschriften sindgleichgroß, nur fett.
                                        was soll ichjetzt machen?

                                        1. huhu,

                                          lies bitte auch die anderen Antworten https://forum.selfhtml.org/?t=123181&m=793327 und https://forum.selfhtml.org/?t=123181&m=793319

                                          Gruß aus Berlin!
                                          eddi

                                          --
                                          Wer Rechtschreibfehler findet, darf sie behalten.
                                          1. hallo,
                                            danke, dann habe ich heute etwas zu tun!
                                            lg
                                            mafoe

                                      2. http://www.wallwitzburg.de/mitglied_formular.htm

                                        da... okay?

                                      3. huhu,
                                        ist jetzt alles okay?

                                        http://www.wallwitzburg.de/mitglied_formular.htm

                                        lg

                                        mafoe

                                  2. Re:

                                    Sorry, I am unable to validate this document because on line 29, 42, 44, 51-52, 55-56, 65, 118 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.

                                    Der Validator prüft auch nach Zeichensätze (vgl.: http://de.selfhtml.org/inter/index.htm). Wird kein Charset angegeben, validiert er immer gegen UTF-8. Ein Charset wird für gewöhnlich mit dem HTTP-Header Content-Type übergeben. Wenn allerdings der Admin des Webservers dies nicht getan hat, kann man dies auch mittels eines Meta-Tags ersatzweise machen: http://de.selfhtml.org/html/kopfdaten/meta.htm#zeichenkodierung

                                    In Deinem Fall solltest Du von letztgenannter Möglichkeit auch gebrauch machen, denn ich will Dich nicht auch noch mit Serverkonfiguration zusätzlich belasten.

                                    Gruß aus Berlin!
                                    eddi

                                    --
                                    Wer Rechtschreibfehler findet, darf sie behalten.
                2. http://www.wallwitzburg.de/info.php

                  1. http://www.wallwitzburg.de/info.php

                    in dieses Script schreibst Du bitte folgendes:

                      
                    <?php  
                    header('Content-Type: text/plain');  
                    print_r($_POST);  
                    ?>  
                    
                    

                    In der mitglied_formular.htm, die Du Dir hoffentlich heruntergeladen hast, veränderst Du das action-Attribut des Formulars, indem Du auf "http://www.wallwitzburg.de/info.php" verweist.

                    Desweiteren liest Du Dir bitte die Kapitel http://de3.php.net/manual/de/langref.php insbesondere http://de3.php.net/manual/de/language.variables.php durch, sowie die Beschreibungen der Funktionen http://de3.php.net/manual/de/function.header.php und http://de3.php.net/manual/de/function.print-r.php

                    Danach baust Du Dir erste Kenntnisse in PHP unter http://tut.php-q.net/ auf, die Du durch Ausprobieren mit eingenen kleinen Formularen und http://tut.php-q.net/formulare.html vertiefen wirst.

                    Auch wenn Du jedes Script erstmal mittels FTP auf den Server laden mußt, um zu lernen und etwas Gefühl für PHP zu entwickeln, ist das zwar nicht optimal aber ein gangbarer Weg. Als Ziel setze ich Dir, daß Du alle Eingaben, die Du in Deinem Formular mitglied_formular.htm definiert hast, nach dem Senden zur Anzeige bringst. Danach werden wir uns um die Fehlerbehandlung kümmen.

                    Gruß aus Berlin!
                    eddi

                    --
                    Wer Rechtschreibfehler findet, darf sie behalten.