Hallo Steffan,
eine Mail ist ein wenig mehr, als mal kurz einen Header zusammen zu schustern und dann zu versenden. Generell verwundert es mich immer wieder, da man Mails auf der Festplatte speichern kann und mit einem einfachen Texteditor anschauen kann, warum dies keiner tut...
Viele versuchen immer eine Mail im HTML-Format zu erstellen, vergessen dabei aber völlig, daß es auch Menschen gibt, die an einer Konsole Mails empfangen müssen. Mails haben die Möglichkeit mehrere MIME-Typen zu beherbergen. Daher ist oberstes Gebot immer ein Äquivalent im MIME text/plain mit zu versenden!
Die angesprochenen Tutorials wie http://www.php3-forum.de/mime_mail.htm gehen nicht einmal darauf ein, wie Header und boundaries auszuzeichnen sind. Hinzu kommt die mangelnde Relevants von eines mit $boundary = strtoupper(md5(uniqid(time()))); erstellten Wert.
Ist Doch schon mal kein grundschlechter Anfang:
$name = "Vorname";
$email = "test@mail.de";
$subject = "Betreff";
$an = "email@irgendwas.de";
$nachricht = "Hier der Text";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$name." <".$email.">\r\n";
$b="was_auch_immer";
$head=
"From: $email\r\n".
"MIME-Version: 1.0\r\n".
"Content-Type: multipart/alternative;\n\tboundary="$b"\r\n";
Mehr braucht kein Mensch noch Client
$plain=
"--$b\r\n".
"Content-Type: text/plain;\r\n\tcharset="iso-8859-1"\r\n".
"Content-Transfer-Encoding: 8bit\r\n\r\n".
$plain_gestalteter_TextBody.
"\r\n\r\n";
Leute mit Textorientierten Clients können nun was lesen
$html=
"--$b\r\n".
"Content-Type: text/html;\r\n\tcharset="iso-8859-1"\r\n".
"Content-Transfer-Encoding: 8bit\r\n\r\n".
$html_gestalteter_valider_TextBody.
"\r\n\r\n";
Die Windowsfraktion ist nun auch glücklich
$nachricht=$plain.$html;
mail($an,$subject,$nachricht,$head);
Gruß aus Berlin!
eddi