Zerbe: & Formmailer grundsätzliche Funktionsweise

Hallo Welt!

Könnte mir jemand von euch einmal die grundsätzliche Funktionsweise eines von PHP erklären, bzw. nur das Versenden eines Webforms mittles PHP und Formmailer.

Ich bin PHP technisch eine 0,3  <- zu Info

Stelle ich mir das richtig vor:

www.xy.de/form.html     <- mein Formular
www.xy.de/formmail.php  <- mein 'script' <- ich nenne es mal so

meine Form sieht dann grob so aus
<form action="http://www.xy.de/formmail.php" method="post">

und meine formmail.php nummt dann die Values aus dem Form, packt sie in eine Mail und versendet sie.

Ist das so ungefär richtig?

Wnn ja, gibt es vieleicht noch so eine Art standard formmail.php?

Zerbe

  1. Hallo

    Bis jetzt liegst du richtig!

    das formmail.php _könnte_ ca. so aussehen

    <?
    $fp = popen("/usr/lib/sendmail -t ","w");
    fputs($fp, "To: name@deinedomain.com\n");
    fputs($fp, "From: $name <$email>\n");
    fputs($fp, "Subject: $subject\n\n");
    fputs($fp, "Name: $name\n\n");
    fputs($fp, "E-Mail-Adresse: $email\n\n");
    fputs($fp, "Telefonnummer: $tel\n\n");
    fputs($fp, "Betreff: $subject\n\n");
    fputs($fp, "Mitteilung:\n");
    fputs($fp, "$message");
    pclose($fp);
    ?>

    muss aber nicht sein, dass das bei dir funktioniert... Damit es läuft musst du sendmail installiert haben. Ev. musst du in der ersten Zeile den Pfad anpassen.

    Gruss Michael

    1. Danke Michael!

      Das hat mir schon sehr weitergeholfen!

      Eine kleine Frage noch :)

      Hast du zufällig erfahrung mit Puretec?
      Das ganze soll auf einen Puretecserver laufen und wenn du den Pfad im Kopf hast brau ich nicht suchen (Ich nicht nur faul sondern auch Krank) ne scherz beiseite ich werde danach suchen, würd nur helfen.

      ach so...

      fputs($fp, "From: $name <$email>\n");

      $name ist dann die Variable die ich im Form benutzt habe, richtig?

      Zerbe

      1. Hast du zufällig erfahrung mit Puretec?
        Das ganze soll auf einen Puretecserver laufen und wenn du den Pfad im Kopf hast brau ich nicht suchen (Ich nicht nur faul sondern auch Krank) ne scherz beiseite ich werde danach suchen, würd nur helfen.

        In der FAQ von Puretec steht /usr/sbin/sendmail -t -i
        das würde also heissen:
        $fp = popen("/usr/sbin/sendmail -t -i ","w");

        fputs($fp, "From: $name <$email>\n");
        $name ist dann die Variable die ich im Form benutzt habe, richtig?

        ja! Es alle Variablen entsprechen den Feldern der Form.
        <input type="text" name="email">
        wäre also als $email zu verwenden.

        Gruss Michael

        1. Hast du zufällig erfahrung mit Puretec?
          Das ganze soll auf einen Puretecserver laufen und wenn du den Pfad im Kopf hast brau ich nicht suchen (Ich nicht nur faul sondern auch Krank) ne scherz beiseite ich werde danach suchen, würd nur helfen.
          In der FAQ von Puretec steht /usr/sbin/sendmail -t -i
          das würde also heissen:
          $fp = popen("/usr/sbin/sendmail -t -i ","w");

          fputs($fp, "From: $name <$email>\n");
          $name ist dann die Variable die ich im Form benutzt habe, richtig?
          ja! Es alle Variablen entsprechen den Feldern der Form.
          <input type="text" name="email">
          wäre also als $email zu verwenden.

          Gruss Michael

          Vielen Dank !
          Hab´s gerade mal Probiert und klappt wunderbar.

          Zerbe

          1. Moin!

            Vielen Dank !
            Hab´s gerade mal Probiert und klappt wunderbar.

            Schön, wenn's klappt, aber warum nimmst du nicht einfach die mail()-Funktion?

            http://www.php.net/manual/de/ref.mail.php

            Ich vermute einfach mal, die ist (weil durch den Admin konfiguriert) unabhängig vom Wissen über irgendwelche mailversendenden Programme - jedenfalls aus Sicht des PHP-Programmierers. :)

            - Sven Rautenberg

            1. Hallo Sven!

              Vielen Dank !
              Hab´s gerade mal Probiert und klappt wunderbar.

              Schön, wenn's klappt, aber warum nimmst du nicht einfach die mail()-Funktion?

              Weil Ich PHP noch so gut wie gar nicht kenne.

              http://www.php.net/manual/de/ref.mail.php

              Ich vermute einfach mal, die ist (weil durch den Admin konfiguriert) unabhängig vom Wissen über irgendwelche mailversendenden Programme - jedenfalls aus Sicht des PHP-Programmierers. :)

              Bietet bie Mail() funktion gegenüber der anderen irgendwelche Vorteile ausser den genannten (der glaub ich recht unerheblich ist weil das ganze nur bei Puretec laufen soll und ich nicht glaube das die ihre Server so schnell umbauen werden)

              • Sven Rautenberg

              Zerbe

              1. MoiN!

                Bietet bie Mail() funktion gegenüber der anderen irgendwelche Vorteile ausser den genannten (der glaub ich recht unerheblich ist weil das ganze nur bei Puretec laufen soll und ich nicht glaube das die ihre Server so schnell umbauen werden)

                Sie verschickt Mails. Und das mit einem ziemlich einfach zu verstehenden Aufruf:

                mail("joecool@example.com", "My Subject", "Line 1\nLine 2\nLine 3");
                      ^Zieladresse           ^Betreff      ^Mailtext

                Da muß man sich eben noch weniger auskennen, als beim direkten Ansprechen von Sendmail.

                Ich merke gerade, meil erster Link geht etwas ins Leere. Hier eine echte Beschreibung der Funktion:
                http://www.php.net/manual/de/function.mail.php

                - Sven Rautenberg