Smut: Formular Sendet zwar email jedoch lehr

Bin anfänger habe mit dw cs5.5 ein formular gemacht und den einzelnen schlachtflächen bzw formfelder id´s zugewiesen

es sendet auch eine email diese landet jedoch im spamfilter und hat keinerlei inhalt bzw absender.

habe ich einen fehler hier eigebaut

php sript =

<?php

/* Betreff und Email Variable */

$emailBetreff = 'Jasmin19.de Kontakt';  

$webmaster = 'Smut85@hotmail.de';

/* Emailform Daten */

$nameFeld = $\_Post['Name'];  

$emailFeld = $_Post['Email'];
    $LandFeld = $_Post['Land'];
    $NachrichtFeld = $_Post['Nachricht'];
    $AgbFeld = $_Post['agb'];

$body = <<<EOD
<br><hr><br>
Name: $name <br>
Email: $email <br>
Land: $Land <br>
Nachricht: $Nachricht <br>
AGB: $agb
EOD;

$headers = "From: $Email\r\n";  

$headers .= "Content-type: text/html\r\n";
    $headers = mail($webmaster, $emailbetreff, $Body, $headers);

/* Antwort */

echo "Ihre Nachricht wurde erfolgreich versendet";

?>

  1. Natürlich im Betreff Leer ;)

    Bin anfänger habe mit dw cs5.5 ein formular gemacht und den einzelnen schlachtflächen bzw formfelder id´s zugewiesen

    es sendet auch eine email diese landet jedoch im spamfilter und hat keinerlei inhalt bzw absender.

    habe ich einen fehler hier eigebaut

    php sript =

    <?php

    /* Betreff und Email Variable */

    $emailBetreff = 'Jasmin19.de Kontakt';
        $webmaster = 'Smut85@hotmail.de';

    /* Emailform Daten */

    $nameFeld = $_Post['Name'];
        $emailFeld = $_Post['Email'];
        $LandFeld = $_Post['Land'];
        $NachrichtFeld = $_Post['Nachricht'];
        $AgbFeld = $_Post['agb'];

    $body = <<<EOD
    <br><hr><br>
    Name: $name <br>
    Email: $email <br>
    Land: $Land <br>
    Nachricht: $Nachricht <br>
    AGB: $agb
    EOD;

    $headers = "From: $Email\r\n";
        $headers .= "Content-type: text/html\r\n";
        $headers = mail($webmaster, $emailbetreff, $Body, $headers);

    /* Antwort */

    echo "Ihre Nachricht wurde erfolgreich versendet";

    ?>

  2. Hallo,

    $nameFeld = $_Post['Name'];

    Könnte evtl. datan liegen dass die Variable $_POST heißt, nicht $_Post

    1. Entschuldigt :) bin noch ein anfänger :)

    2. hat aber kein ergebniss nach sich gezogen

      Hallo,

      $nameFeld = $\_Post['Name'];  
      

      Könnte evtl. datan liegen dass die Variable $_POST heißt, nicht $_Post

  3. Hallo,

    es sendet auch eine email diese landet jedoch im spamfilter und hat keinerlei inhalt bzw absender.
    habe ich einen fehler hier eigebaut

    nur einen?
    Was für ein Glück, dass Du viele Fehler eingebaut hast.
    Dein Formular könnte wäre sonst wundervoll zum Spammen geeignet.
    Die Mail können nämlich nicht nur an Dich, sondern auch an beliebige andere Empfänger versandt werden.

    Nutze lieber einen vernünftigen Formmailer.

    <?php
    /* Betreff und Email Variable */

    $emailBetreff = 'Jasmin19.de Kontakt';
        $webmaster = 'Smut85@hotmail.de';

    /* Emailform Daten */

    $nameFeld = $_Post['Name'];
        $emailFeld = $_Post['Email'];
        $LandFeld = $_Post['Land'];
        $NachrichtFeld = $_Post['Nachricht'];
        $AgbFeld = $_Post['agb'];

    von der $_POST-Problematik, auf die Jeena Dich schon hingewiesen hat, abgesehen:

    das überflüssige Umkopieren sieht man oft, zu oft. Es bringt unnötige Komplexität mit sich. Das kannst Du hier sehr schön sehen, denn ...

    $body = <<<EOD
    <br><hr><br>

    ... hier weißt Du schon nicht mehr, wie die Variablen heißen, in die Du umkopiert hast.

    Name: $name <br>
    Email: $email <br>
    Land: $Land <br>
    Nachricht: $Nachricht <br>
    AGB: $agb
    EOD;

    Folgende Zeile: Dein Formular ist anfällig für Header-Injection. Jeder kann an jeden beliebigen Empfänger senden (CC- und BCC-Header verwenden).

    $headers = "From: $Email\r\n";
        $headers .= "Content-type: text/html\r\n";
        $headers = mail($webmaster, $emailbetreff, $Body, $headers);

    ...

    Freundliche Grüße

    Vinzenz

  4. und den einzelnen schlachtflächen [...] id´s zugewiesen

    Also sowas wie "Rinderschlachtfläche", "Schweineschlachtfläche" und so?

    Sorry musste sein, der Ausdruck ist cool :-)

    1. Om nah hoo pez nyeetz, Encoder!

      und den einzelnen schlachtflächen [...] id´s zugewiesen
      Also sowas wie "Rinderschlachtfläche", "Schweineschlachtfläche" und so?

      Nee, Jena-Auerstedt und so. ;-)

      Und bevor noch mehr Leute über das lehr stolpern, hab ichs mal geändert.

      Matthias

      --
      1/z ist kein Blatt Papier.

    2. Moin!

      Sorry musste sein, der Ausdruck ist cool :-)

      :D
      Jepp. Ich hab mich auch schon gefragt, was das fuern Formular ist. ;)

      --
      Signaturen sind blöd!
  5. Hello,

    Bin anfänger

    sieht man auch ;-P

    habe mit dw cs5.5 ein formular gemacht und den einzelnen schaltflächen bzw formfelder id´s zugewiesen

    Du versuchst hier vermutlich, Daten aus dem Array $_POST zu kopieren.

    1. Das simple Umkopiern von Daten ist nicht notwendig, denn im Array sind die Daten
       sauber zusammengefasst erreichbar, in den "losen" Variablen aber "verstreut".

    2. Das Array heißt nicht $_Post, sondern $_POST

    3. Die ungeprüfte Übernahme von Daten aus der Benutzereingabe ist gefährlich.
       Die ungeprüfte Weiterleitung an die Ausgabe ist noch gefährlicher
       Speziell bei eMail-Servern kann man damit zur Spamschleuder werden, wenn Daten,
       die im Header der eMail-Nachrticht landen, von den Usern beeinflusst werden können.
       Dadurch können ggf. die gesamten Header verändert werden, die aber beim SMTP-Server
       steuernde Wirkung haben.

    $nameFeld = $_Post['Name'];
        $emailFeld = $_Post['Email'];
        $LandFeld = $_Post['Land'];
        $NachrichtFeld = $_Post['Nachricht'];
        $AgbFeld = $_Post['agb'];

    $body = <<<EOD

    4. Alle Daten, die bei einer email im Header landen, müssen außerdem passend codiert
       werden. Ohne weitere Angaben sind nur die druckbaren Zeichen aus dem ersten Septett
       erlaubt. Alle anderen müssen codiert werden.

    5. Sollten auf deinem System noch die Magic Quotes eingeschaltet sein, müssten die aus
       den POST-Daten auch vor der Weiterverarbeitung entfernt werden.

    Und dann bleibt die Mail beim Empfänger voraussichtlich auch nicht mehr leer.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de