$_POST als E-Mail
mdkiller
- php
Hallo Forum!
Wie schaffe ich es, den Inhalt von $_POST per E-Mail zu verschicken?
<?php
$mailtext .= $_POST;
mail("webmaster@xyz.de", "Betreff", $mailtext, "From: webmaster@xyz.de\nReply-To: $email\nX-Mailer: PHP/" . phpversion());
?>
schickt mir das tolle Wort ARRAY zu...
Ich hätte aber gerne den kompletten Inhalt aller per Post übergebenen Werte.
Danke für Eure Antworten und ein schönes Ende
mdkiller
Nabend,
schickt mir das tolle Wort ARRAY zu...
Nichts anderes ist $_POST.
Ich hätte aber gerne den kompletten Inhalt aller per Post übergebenen Werte.
Dann baue dir aus dem Array einen String. implode() dürfte dir helfen, ggf. auch eine forerach-Schleife.
Bis denne,
Hallo!
Dann baue dir aus dem Array einen String. implode() dürfte dir helfen, ggf. auch eine forerach-Schleife.
Ich hätte das am liebsten wie mit print_r($_POST); nämlich dass gleich die Veriablenbezeichnungen mitgeliefert würden. implode schickt mir nur die reinen Daten.
Gruß
mdkiller
Hallo.
Schaut immer zuerst in die dclp-faq. Sehr viele Probleme lösen sich dann von selbst.
6.6. Wie schreibe ich ein Script, das beliebige Parameter verarbeitet?
http://www.dclp-faq.de/q/q-variable-parameter.html
mfg Johannes
Nabend,
Ich hätte das am liebsten wie mit print_r($_POST); nämlich dass gleich die Veriablenbezeichnungen mitgeliefert würden. implode schickt mir nur die reinen Daten.
Gut, und warum verwendest du dann nicht einfach print_r()? Ich tippe, du hast das Manual (wenn dann) nur in Deutsch gelesen. Werfe _immer_ auch einen Blick in das bessere, englische: http://de2.php.net/manual/en/function.print-r.php
Bis denne,
Hi!
Gut, und warum verwendest du dann nicht einfach print_r()? Ich tippe, du hast das Manual (wenn dann) nur in Deutsch gelesen. Werfe _immer_ auch einen Blick in das bessere, englische: http://de2.php.net/manual/en/function.print-r.php
Ich habe wirklich nur ins deutsche reingeschaut. Hatte die Hoffnung, es wäre eine 1:1 Übersetzung, aber da hab ich mich dann wohl geirrt...
Mit $mailtext .= print_r($_POST, true); funktioniert das ganze dann.
Danke schön!
Gelobe Besserung!
Bis denne,
Ciao
mdkiller
Hallo,
Mit $mailtext .= print_r($_POST, true); funktioniert das ganze dann.
Das ist aber nicht zulässig, da in $_POST alles drinstehen darf, auch Umlaute, Tags, Zeilenumbrüche etc. Das muss man vorher "kastrieren".
Dank Dir habe ich ja nurn gerade dazugelernt, dass print_r(....,true)
die ausgabe auf das Funktionsergebnis umlenkt.
Da müsstest Du jetzt nur noch die quoted-Printable-Umwandlung und die Zeilenlänge (chunk_split()) beachten.
...
Grüße
Tom
<?php
$mailtext .= $_POST;
mail("webmaster@xyz.de", "Betreff", $mailtext, "From: webmaster@xyz.de\nReply-To: $email\nX-Mailer: PHP/" . phpversion());
?>schickt mir das tolle Wort ARRAY zu...
Versuche es mal mit $GET_POST[deine variable] statt $_POST
Gruß
Stephan
hi,
Versuche es mal mit $GET_POST[deine variable] statt $_POST
verfolgst du mir der verbreitung dieses unsinns irgendein bestimmtes ziel?
gruss,
wahsaga
Ist das nicht richtig??
hi,
Ist das nicht richtig??
es gibt $_GET und $_POST, je nach im formular verwendeter methode.
aber $GET_POST existiert m.w. nicht (es sei denn, du legst es selber an).
gruss,
wahsaga
Hallo mdkiller,
Wie schaffe ich es, den Inhalt von $_POST per E-Mail zu verschicken?
<?php
$mailtext .= $_POST;
mail("webmaster@xyz.de", "Betreff", $mailtext, "From: webmaster@xyz.de\nReply-To: $email\nX-Mailer: PHP/" . phpversion());
gehen wir mal davon aus, dass Du den $mailtext-Parameter für Deine Mitteilungen nutzen willst, dann musst Du beachten, dass
Das Datenarray als Klarschriftmail zu verschicken, ist also eigentlich nicht ohne weiteres möglich.
Du müsstest die Daten also mindestes als quoted_printable codieren. Dafür gibts aber in PHP bis 4.3.1 keine fertige Funktion. Musst Du Dir also selber schreiben.
Na, und dann muss man das der mail()-Funktion auch irgendwie mitteilen, dass sie das jetzt berücksichtigen soll. Genau in diesem Augenblick musst Du Dich mit den MIME-Standards beschäftigen.
Einfache Lösung:
Du bastelst Dir eine mail im quoted printable Standard mit Deinem Mailclient und schickst sie Dir selbst. Dann schaust Du Dir an, was dabei herausgekommen ist.
Nun kannst Du die Mail()-Funktion von PHP als Rumpfprogramm nutzen, und mit Hilfe des Feldes "additional Headers" die Daten an die Funktion übergeben.
bool mail ( string to, string subject, string message [, string additional_headers])
Den Parameter "message" lässt Du dann LEER.
Wie man ein Datenarray rekursiv auflöst und als Strings darstellt, ist hier im Forum auch oft genug beschrieben worden.
Ich gebe zu, ich habe, um die ganze Aufgabe zu lösen und ALLE offenen Fragen auch über die RFCs abzusichern, mal eine ganze Woche benötigt.
Ich wünsche Dir viel Erfolg.
Grüße
Tom
Hi,
noch ein Thread-Tipp: [pref:t=62099&m=350667]
Grüße
Tom