tomaslpz: Formularfeld soll zu Absender werden.

Folgende Formmail.php liegt zugrunde:

<?php
  $fmtResponse= implode("", file("response.htt"));
  $fmtMail= implode("", file("mail.htt"));
  foreach($HTTP_POST_VARS as $key=> $val) {
    $fmtResponse= str_replace("<$key>", $val, $fmtResponse);
    $fmtMail= str_replace("<$key>", $val, $fmtMail);
  }
  if ($HTTP_POST_VARS["access"] == "ortelius2003") {
    mail($HTTP_POST_VARS["recipient"],
         $HTTP_POST_VARS["subject"],
  $fmtMail;);

}
  echo $fmtResponse;
?>
<p> </p>

Ich habe im Formular ein Eingabefeld "email". Wenn das Mail ankommt steht als Absender "CGI-Mailer". Wie kann man das Script verändern, um den Absender aus der Forulareingabe zuzuweisen.

Sorry bin ziemlicher Anfänger und konnte mit den Anweisungen aus diversen Websites keinen Erfolg erzielen.

CU Tom

  1. tach..

    http://www.php3.de/manual/de/function.mail.php

    Schau da mal in den Beispielen bezüglich "From: " und Header.

    greeez barbie

  2. Hallo Tom!

    Ich habe im Formular ein Eingabefeld "email". Wenn das Mail ankommt steht als Absender "CGI-Mailer". Wie kann man das Script verändern, um den Absender aus der Forulareingabe zuzuweisen.

    Du musst dann natürlich auch die Variable "email" in der Funktion mail mit einbringen.

    So sollte es funktionieren:

    <?php
      $fmtResponse= implode("", file("response.htt"));
      $fmtMail= implode("", file("mail.htt"));
      foreach($HTTP_POST_VARS as $key=> $val) {
        $fmtResponse= str_replace("<$key>", $val, $fmtResponse);
        $fmtMail= str_replace("<$key>", $val, $fmtMail);
      }
      if ($HTTP_POST_VARS["access"] == "ortelius2003") {
        mail($HTTP_POST_VARS["recipient"],
             $HTTP_POST_VARS["subject"],
      $fmtMail, From: $email\r\nReply-to:$email);

    }
      echo $fmtResponse;
    ?>

    Grüße

    Pino

    1. Hallo Tom!

      Ich habe im Formular ein Eingabefeld "email". Wenn das Mail ankommt steht als Absender "CGI-Mailer". Wie kann man das Script verändern, um den Absender aus der Forulareingabe zuzuweisen.

      Du musst dann natürlich auch die Variable "email" in der Funktion mail mit einbringen.

      So sollte es funktionieren:

      <?php
        $fmtResponse= implode("", file("response.htt"));
        $fmtMail= implode("", file("mail.htt"));
        foreach($HTTP_POST_VARS as $key=> $val) {
          $fmtResponse= str_replace("<$key>", $val, $fmtResponse);
          $fmtMail= str_replace("<$key>", $val, $fmtMail);
        }
        if ($HTTP_POST_VARS["access"] == "ortelius2003") {
          mail($HTTP_POST_VARS["recipient"],
               $HTTP_POST_VARS["subject"],
        $fmtMail, From: $email\r\nReply-to:$email);
        }
        echo $fmtResponse;
      ?>
      Grüße Pino

      Hallo Pino,

      danke für Deine Hilfe, aber leider funktioniert es nicht. Ich habe nun folgendes abgewandeltes Skript das läuft. Bei deiner Version kamen immer Parserfehler.

      <?php
        $fmtResponse= implode("", file("response.htt"));
        $fmtMail= implode("", file("mail.htt"));
        foreach($HTTP_POST_VARS as $key=> $val) {
      $fmtResponse= str_replace("<$key>", $val, $fmtResponse);
      $fmtMail= str_replace("<$key>", $val, $fmtMail);
      }
      if ($HTTP_POST_VARS["access"] == "ortelius2003") {
      mail($HTTP_POST_VARS["recipient"], $HTTP_POST_VARS["subject"], "From: $email", $fmtMail);

      }
      echo $fmtResponse;
      ?>

      Gut und schön er schreibt nun die Adresse aus $email an das Ende der Email.

      Ich suche aber nach einer Lösung womit das Absenderfeld der Mail in der Mailübersicht gefüllt wird, damit man bei einer Antwort im Mailprogramm einfach auf Antworten gehen kann. Zur Zeit steht dort immer "CGI-Mailer cgi-mailer@kundenserver.de.

      Gibt es dafür vielleicht eine Lösung? Ich habe heute so ziemlich alle Möglichkeiten und Foren im Internet besucht und eine Lösung gesucht.
      Ich weiß nicht mehr wo ich noch nachsehen könnte.
      Gruß Tom