Der Martin: Additional Headers mit mail()

Beitrag lesen

Hi,

$inhalt = "Benachichtigung ... bla, bla... a";

$header = "From: Ich me@example.com\r\n";
$header .= "Content-Type: text/plain; charset=UTF-8\r\n";
$header .= "Content-Transfer-Encoding: 8bit";
mail("test@example.com", "Betreff", $inhalt, $header);

  
ich rieche etwas. Es riecht nach ... falschen Zeilenumbrüchen. ;-)  
  

> Das klappt soweit auch, allerdings kommt dann folgendes an:  
>   
> Content-Type: text/plain; charset=UTF-8  
> Content-Transfer-Encoding: 8bit  
> Message-Id: <20090622171627.4DC80AF002DC@example.com>  
> Date: Mon, 22 Jun 2009 19:16:27 +0200 (CEST)  
>   
> Benachichtigung ... bla, bla... ä  
  
Dann lass mal die \r weg und lass nur \n als Zeilenumbruch. Ja, der korrekte Zeilenumbruch im Mail-Kontext ist \r\n, aber auf Unix-ähnlichen Systemen sitzt zwischen Applikation (PHP) und Server (SMTP) normalerweise noch ein Script oder Programm, das manchmal sowohl \r als auch \n in \r\n umwandelt. Folge: Deine erste Headerzeile (From:) wäre mit zwei Zeilenumbrüchen vom Rest abgetrennt - und zwei Zeilenumbrüche bedeuten das Ende der Header und den Beginn des Nutzinhalts.  
  
So long,  
 Martin  

-- 
Frauen sind wie Elektrizität: Fasst man sie an, kriegt man eine gewischt.