[gelöst]PHP - mail() mit From-Header

Hallo,
ich wollte gerade ein schlichtes Mailskript schreiben, das einen From-Header enthalten soll und eine HTML Mail versenden soll.

Hier erstmal der Code:
PHP:
$headers = 'From: Test<foo@bar.de>' . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= "Content-type: text/html\r\n";
$headers .= 'Reply-To: Foo<bar@foo.de>' . "\r\n";
	
mail('test@example.com','Test',$nachricht,$header);

Wenn ich diese Mail abschicke erhalte ich den in $nachricht geschriebenen HTML-Quellcode als Mail, mit dem richtigen Absender- und Antwort-Daten (From und Reply-To stimmen also).

Wenn ich die Mail mit HTML formatiert sehen möchte, muss ich alle Header außer dem Content-Type löschen, um das zu erreichen.

Woran liegt das?
 
PHP:
$headers .= 'MIME-Version: 1.0' . "\n";
Warum nur \n? Du nutzt doch sonst immer \r\n? Wenn es das war, bist du Opfer des berüchtigten Hand-gegen-die-Stirn-schlag-Fehlers geworden.
 
versuch mal

PHP:
<?php $headers = 'From: Test<foo@bar.de>' . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= "Content-type: text/html\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$headers .= 'Reply-To: Foo<bar@foo.de>' . "\r\n";
    
mail('test@example.com','Test',$nachricht,$header); ?>

bei fast allen beispielen im netz wird das transfer encoding angegeben.
 
Original von b4ck

versuch mal
PHP:
<?php $headers = 'From: Test<foo@bar.de>' . "\r\n"; 
$headers .= 'MIME-Version: 1.0' . "\n"; 
$headers .= "Content-type: text/html\r\n"; 
$headers .= "Content-Transfer-Encoding: 8bit\r\n"; 
$headers .= 'Reply-To: Foo<bar@foo.de>' . "\r\n";
mail('test@example.com','Test',$nachricht,$header); ?>
bei fast allen beispielen im netz wird das transfer encoding angegeben.

Danke auch für diese Antwort, ich habe die Mailfunktion jedoch nur in der Manual nachgesehen, und das dort eventuell übersehen.
Habe den Header mit eingefügt, ohne Erfolg :(
 
Habs gelöst, muss so aussehen:

PHP:
<?php $headers = 'From: Test<foo@bar.de>' . "\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= "Content-type: text/html\n";
$headers .= 'Reply-To: Foo<bar@foo.de>' . "\n";
    
mail('test@example.com','Test',$nachricht,$header); ?>

Ich weiß nicht warum, aber ohne \r klappt es.
 
Zurück
Oben