E-mail Header/ PHP/Angaben für From aus dem Kontaktformular übernehmen.

  • Hallo Forum,
    sehr geehrter Hr. Pratzner,


    folgendes Problem:


    Ein Kontaktformular mit PHP erstellt dessen Angaben dann per Mail abgeschickt werden, so weit so gut. Wie ist es zu bewerkstelligen das im Header der Mail automatisch unter From die E-Mailadresse übernommen wird, die unter dem Eingabefeld Email im Kontaktformular angegeben wird ? Mit $_Post ['mail'] und wenn ja wie wird das korrekt geschrieben ?


    Um eure Hilfe wäre ich sehr dankbar


    Freundlich Grüsst


    A.Meier

  • "From" ist der Sender, also der Absender, der Server.
    Wenn Du also ein Kontaktformular hast, welches den Inhalt zu Dir selbst schickt,
    dann ist der Absender "From" der Server.


    // am Beispiel #2 von http://php.net/manual/de/function.mail.php

  • Es geht warscheinlich darum den 'Antworten' button benutzen zu können wenn man eine anfrage über das Form erhält oder?


    Dann hat cotton schon vorgearbeitet. Verantwortlich ist dafür das Reply-to feld: (Zeile 7)

  • Vielen Dank für eure Hilfe,


    nur war es so gemeint, statt das im 'Form des Header nicht die Adresse des Servers kommt,sondern die E-mail des Absenders, sprich die Angabe wo er im Feld Mail gemacht hat. Ist das möglich ?


    $headers = 'From:'.$_POST['Vorname'] .$_POST['Nachname'] .$_POST['Email']. "\r\n" .
    'Reply-To: '.$_POST['Email']. "\r\n" .
    'X-Mailer: PHP/' . phpversion();


    Problem gelöst, nur wie krieg ich ein Leerzeichen rein zwischen Vorname Nachname und Email ??? ?(

  • Das kannst Du bei der Verkettung machen.

    PHP
    $headers = 'From: ' . $_POST['Vorname'] . ' ' . $_POST['Nachname'] . ' ' . $_POST['Email']. "\r\n" .


    nochmal an einem anderen Bsp:

    PHP
    $var = 'text ' . // mit punkt verkettet
        ' ' .  // ein leerzeichen, und wieder der punkt zum verketten
        ' text text ' . ' ' . ' noch mehr text ' . $bsp_var;


    Kann verwirren. Du könntest ein Leerzeichen auch in eine Variable packen:

    PHP
    $leerzeichen = ' ';
    $headers = 'From: ' . $_POST['Vorname'] . $leerzeichen . $_POST['Nachname'] . $leerzeichen . $_POST['Email']. "\r\n" .
  • Ich meine dunkel zu erinnern das man das dan so schreiben sollte: ( die < > sind wichtig)
    'From: -Synatx' :

    Code
    {irgendein Name}<{mail}>

    also z.B.

    Code
    Max Mustermann<max@example.com>


    Bedeutet für PHP (Zeile 8!! )

  • Also ich habe mal gebastelt..
    Du musst dir deinen Teil raussuchen, kannst aber auch einfach das ganze Ding nehmen ;)


    Die Mails kommen bei mir im Thunderbird perfekt an, auch die Header werden richtig übergeben.


    Output:


    Hoffe das hilft euch :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!