Problem mit Formmailer


#1

Hallo in die Runde,

ich hänge an einem kleinen Formmailer Problem.
Der Versand klappt, aber wenn ich die Mail bekomme und auf antworten gehe, wird immer meine eigene Mailadresse eingesetzt.
Klar, das liegt am $mailFrom = ‘"mail@domain.tld’; in der PHP.
Ich bekomme es aber nicht hin, dass dort die Email aus dem Formular übernommen wird.
Kann mir da jemand weiterhelfen :slight_smile:

Danke, Sascha

Formular:

    <div class="row">
        <div class="col medium-6">
            <fieldset>
                <legend>Ihre pers&ouml;nlichen Daten</legend>

                <label for="Name">Name <small>(Pflichtfeld)</small></label>
                <input type="text" id="Name" name="realname" placeholder="Ihr Vor- und Zuname">

                <label for="Firma">Firma</label>
                <input type="text" id="Firma" name="Firma" placeholder="Ihre Firma">

                <label for="Anschrift">Anschrift</label>
                <textarea id="Anschrift" name="Anschrift" rows="3" cols="20" placeholder="Ihre Anschrift"></textarea>

                <label for="Telefon">Telefon <small>(Pflichtfeld)</small></label>
                <input type="tel" id="Telefon" name="Telefonnummer" placeholder="Ihre Festnetznummer">

                <label for="Fax">Faxnummer</label>
                <input type="text" id="Fax" name="Faxnummer" placeholder="Ihre Telefaxnummer">

                <label for="Email">E-Mail <small>(Pflichtfeld)</small></label>
                <input type="email" id="Email" name="email" placeholder="Ihre E-Mail Adresse">

                                   <label for="Mobil">Mobilnummer</label>
                <input type="text" id="Mobil" name="Mobilnummer" placeholder="Ihre Mobilnummer">


            </fieldset>
        </div>
        <div class="col medium-6">

            <fieldset>
                <legend>Ihre Mitteilung</legend>
                <p>Was wollen Sie uns sagen?</p>

                <label for="Nachricht">Nachricht <small>(Pflichtfeld)</small></label>
                <textarea id="Nachricht" name="message" rows="10" cols="20" placeholder="Ihre Nachricht"></textarea>

                <button name="submit" type="submit" class="button wide">Abschicken</button>
            </fieldset>
        </div>
    </div>
    
</form>

Formmailer:

<?php // ======= Konfiguration: $mailTo = 'mail@domain.tld'; $mailFrom = '"mail@domain.tld'; $mailSubject = 'Kontaktformular'; $mailText = ""; // ======= Text der Mail aus den Formularfeldern erstellen: // Wenn Daten mit method="post" versendet wurden: if(isset($_POST)) { // alle Formularfelder der Reihe nach durchgehen: foreach($_POST as $name => $value) { // Wenn der Feldwert aus mehreren Werten besteht: // (z.B. ) if(is_array($value)) { // "Feldname:" und Zeilenumbruch dem Mailtext hinzufügen $mailText .= $name . ":\n"; // alle Werte des Feldes abarbeiten foreach($valueArray as $entry) { // Einrückungsleerzeichen, Wert und Zeilenumbruch // dem Mailtext hinzufügen $mailText .= " " . $value . "\n"; } // ENDE: foreach } // ENDE: if // Wenn der Feldwert ein einzelner Feldwert ist: else { // "Feldname:", Wert und Zeilenumbruch dem Mailtext hinzufügen $mailText .= $name . ": " . $value . "\n"; } // ENDE: else } // ENDE: foreach } // if // ======= Korrekturen vor dem Mailversand // Wenn PHP "Magic Quotes" vor Apostrophzeichen einfügt: if(get_magic_quotes_gpc()) { // eventuell eingefügte Backslashes entfernen $mailtext = stripslashes($mailtext); } // ======= Mailversand // Mail versenden und Versanderfolg merken $mailSent = @mail($mailTo, $mailSubject, $mailText, "From: ".$mailFrom); // ======= Return-Seite an den Browser senden // Wenn der Mailversand erfolgreich war: if($mailSent == TRUE) { // Seite "Formular verarbeitet" senden: header("Location: " . $returnPage); echo "Vielen Dank für Ihre Email, wir werden uns um ihr Anliegen kümmern."; } // Wenn die Mail nicht versendet werden konnte: else { // Seite "Fehler aufgetreten" senden: header("Location: " . $returnErrorPage); } // ======= Ende exit(); ?>

#2

Wenn du das jetzt noch vernuenftig formatierst, steigt die chance, dass es sich jemand durchliesst.


#3

etwa so…
$name_des_emailfelds = "email"; if (isset($_POST[$name_des_emailfelds]) and filter_var($_POST[$name_des_emailfelds], FILTER_VALIDATE_EMAIL)) { $mailFrom = $_POST[$name_des_emailfelds]; }


#4

Hallo Chris,

Klasse :slight_smile: genau das habe ich gebraucht. Vielen Dank!