Supportnet / Forum / Skripte(PHP,ASP,Perl...)
formmail.php ;eine mail geht, die andere nicht!
Frage
Hi, ich versuche verzweifelt, meinen php4-formmailer dazu zu bringen, aus einem Formular eine mail mit allen Inhalten an mich und eine mit mit allen Inhalten bis auf 2 sensible Felder an den Verfasser zu schicken.
So hab ich´s versucht:
// parse the form and create the content string which we will send
function parse_form($array) {
// build reserved keyword array
$reserved_keys[] = "MAX_FILE_SIZE";
$reserved_keys[] = "Kreditkarte";
$reserved_keys[] = "Gueltigkeit";
$reserved_keys[] = "required";
$reserved_keys[] = "redirect";
$reserved_keys[] = "email";
$reserved_keys[] = "require";
$reserved_keys[] = "path_to_file";
$reserved_keys[] = "recipient";
$reserved_keys[] = "subject";
$reserved_keys[] = "bgcolor";
$reserved_keys[] = "text_color";
$reserved_keys[] = "link_color";
$reserved_keys[] = "vlink_color";
$reserved_keys[] = "alink_color";
$reserved_keys[] = "title";
$reserved_keys[] = "missing_fields_redirect";
$reserved_keys[] = "env_report";
if (count($array)) {
while (list($key, $val) = each($array)) {
// exclude reserved keywords
$reserved_violation = 0;
for ($ri=0; $ri<count($reserved_keys); $ri++) {
if ($key == $reserved_keys[$ri]) {
$reserved_violation = 1;
}
}
// prepare content
if ($reserved_violation != 1) {
if (is_array($val)) {
for ($z=0;$z<count($val);$z++) {
$content .= "$key: $val[$z]\n";
}
} else {
$content .= "$key: $val\n";
}
}
}
}
return $content;
}
// mail the content we figure out in the following steps
function mail_it($content, $subject, $email, $recipient,) {
mail($recipient, $subject, $content, $Kreditkarte, $Gueltigkeit "From: $email\r\nReply-To: $email\r\nX-Mailer: DT_formmail");
mail($email, $subject, $content, "From: $recipient\r\nReply-To: $recipient\r\nX-Mailer: DT_formmail");
}
leider geht die mail nur an den Verfasser ohne die sensiblen Daten klar, der eigentliche Empfänger (ich) bekomme nix.
Findet irgend eine mitleidige und php-bewanderte Seele den Fehler?
Danke im oraus!
Gruß
Antwort 1 von thomasn1975
mail($recipient, $subject, $content, $Kreditkarte, $Gueltigkeit "From: $email\r\nReply-To: $email\r\nX-Mailer: DT_formmail");
Hier sollte der Hund begraben liegen: Du versuchst, $Kreditkarte und $Gueltigkeit als Header-Informationen in die EMail einzutragen.
Sollte so funktionieren:
mail($recipient, $subject, $content . $Kreditkarte . $Gueltigkeit, "From: $email\r\nReply-To: $email\r\nX-Mailer: DT_formmail");
Hier sollte der Hund begraben liegen: Du versuchst, $Kreditkarte und $Gueltigkeit als Header-Informationen in die EMail einzutragen.
Sollte so funktionieren:
mail($recipient, $subject, $content . $Kreditkarte . $Gueltigkeit, "From: $email\r\nReply-To: $email\r\nX-Mailer: DT_formmail");
Antwort 2 von fritho
Hallo,
danke für die Antwort,
der Ersatz der Kommas durch Punkte ist mir wirklich nicht in den Sinn gekommen. Ich werd es heut nacht mal probieren.
danke für die Antwort,
der Ersatz der Kommas durch Punkte ist mir wirklich nicht in den Sinn gekommen. Ich werd es heut nacht mal probieren.

