Der Martin: mail function

Beitrag lesen

Hallo Tanja,

Ich vergaß zu erwähnen, das die Betreffzeile bei meinem Outlook Express angezeigt wird. ---Eine Testmail von mir selber---

Klar, die hast du ja auch als Konstante in der mail()-Anweisung drin.

Nur der Inhalt der Textboxen wird leider nicht übermittelt.

Auch klar, wie dolflyer schon sagte: Erst verschickst du die Mail, und dann erst generierst du den Text, der darin stehen soll. Das kann ja nicht gehen.

Warning: mail(): SMTP server response: 550 syntax error in header in c:\netzwerk\pages\formular.php on line 33

Ja, schau mal, was du als Header übergibst:

$header="\n Content-Type: text/html";

Da stecken gleich drei Fehler drin.
Erstens fängt eine Headerzeile nicht mit einem Zeilenumbruch an, sondern wird damit beendet.
Zweitens ist ein korrekter Zeilenumbruch nicht einfach ein Linefeed '\n', sondern die Kombination "\r\n".
Und drittens darf am Zeilenanfang kein Leerzeichen stehen, ansonsten wird das als Fortsetzung der vorhergehenden Zeile interpretiert.
Richtig müsste es also heißen:

$header="Content-Type: text/html\r\n";

Und zum Schluss frage ich mich, wieso du deine Variablen $message und $header noch einmal in Anführungszeichen setzt. Das hat zwar mit dem Fehler nix zu tun, ist aber überflüssig. Also

mail("meine@adresse.de", "Eine Testmail von mir selber", $message, $header);
?>

Damit sollte es nun eigentlich laufen.
So long,

Martin