Hallo,
aber für e-Mails - *DA* geht's doch schief.
Was bedeutet "*DA*"?
"da" ist ein umgangssprachlicher Ausdruck für "dort", oder hier besser: "dabei". ;-)
Gib einfach im Mailheader den richtigen Content-Type an (bevorzugt text/plain) und ergänze ihn um die passende Angabe der Zeichencodierung - scheint in deinem Fall UTF-8 zu sein.
Ich habe so etwas noch nie gesehen.
Noch nie den Quelltext empfangener Mails angeschaut? Kaum zu glauben.
"MIME-Version: 1.0rn"."Content-type: text/plain; charset=utf-8"
Stimmt das?
Nee. Den MIME-Header baut man eigentlich nur ein, wenn man multipart-Mails verschickt. Bei einfachen Textmails hat er nichts verloren. Und anstatt "rn" meintest du doch wohl "\r\n", oder?
Der Content-Type-Header danach sieht aber richtig aus.
Ich habe dies eingebaut und das sieht so aus:
Ich trenne mal auf, damit's übersichtlicher und besser zu kommentieren ist.
mail("meinname@server.com",
Bitte verwende für Beispiele die Domainnamen, die extra dafür vorgesehen sind, und nicht erfundene, die vermutlich jemandem gehören.
"Website-Kontaktformular-Eintragung: $_POST[nachname]",
Kontrollier mal, ob das korrekt kommt. Das Einbetten von komplexen Variablen (Array- oder Objektelemente) ist problematisch, und das ungeprüfte Einfügen von Benutzereingaben ist immer riskant (auch wenn es von PHP noch entschärft wird).
"MIME-Version: 1.0rn"."Content-type: text/plain; charset=utf-8",
Sehr eigenwillig als Nachrichtentext. Du solltest dich schon an die Reihenfolge der Parameter von mail() halten. Ansonsten: Siehe oben.
$inhalt_fuermich,
Aha, das ist doch erst der Nachrichtentext, oder nicht? Aber mail() erwartet hier schon die zusätzlichen Header.
"From: ".$_POST[email]);
Das ist syntaktisch schon besser als oben beim Subject, aber $_POST[email] ist trotzdem falsch: Der Index (oder Schlüssel) ist doch ein String, keine benannte Konstante. Deshalb schmeißt diese Anweisung eine Notice. Abgesehen ist dieser Parameter natürlich auch schon eine Position zu weit hinten; mail() wird ihn als zusätzliche Parameter für das sendmail-Script interpretieren.
Abgesehen davon: Du willst doch hier nicht etwa die Mailadresse dessen, der das Kontaktformular benutzt, als Absenderadresse eintragen? Das geht vermutlich schief.
Aber ist ist leider nicht sauber.
Nein, überhaupt nicht.
Das heißt die Email wird gesendet, aber es erscheint eine Fehlermeldung "From:... List:; syntax illegal for recipient addresses ".
Klar. Weil an der Parameter-Position, wo mail() die "additional headers" erwartet, erstmal dein Nachrichtentext ($inhalt_fuermich) kommt. Möglicherweise steht da auch noch irgendwo "From: " drin, und was danach kommt ist (gemäß SMTP interpretiert) Unsinn. Oder sendmail reklamiert, dass die als Extra-Parameter übergebene Mailadresse nicht als Absenderadresse zulässig ist.
Wie sollte der implementierte Code aussehen?
Das solltest du nach den Hinweisen nun selbst hinkriegen.
Ciao,
Martin
--
Frage an Radio Eriwan: Kann man eigentlich ein guter Kommunist und gleichzeitig ein guter Christ sein?
Radio Eriwan antwortet: Im Prinzip ja - aber warum sollte man sich das Leben doppelt schwer machen?
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(