Forum Doku Wiki Blog

Forumsarchiv 2009, Juni
Additional Headers mit mail()

archivierte Beiträge lesen

  1. (PHP) Additional Headers mit mail() von Electronix, 22. 06. 2009, 19:33

Additional Headers mit mail()

Der folgende Beitrag wurde am 22. 06. 2009, 19:33 Uhr von Electronix veröffentlicht.

Hallo,

ich habe mit folgendem Code versucht, auf meinem Server eine Mail zu versenden:
$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);


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... ä


Also scheinbar wird der vierte Parameter ignoriert bzw. falsch angehängt und dann vom Mailprogramm nicht als Header erkannt.

Woran kann das liegen?

MfG,

Electronix

Additional Headers mit mail()

Der folgende Beitrag wurde am 22. 06. 2009, 19:48 Uhr von Der Martin veröffentlicht.

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.

Additional Headers mit mail()

Der folgende Beitrag wurde am 22. 06. 2009, 20:05 Uhr von Electronix veröffentlicht.

Hi,

> 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.


Erstaunlich, das klappt tatsächlich!
Vielen Dank!


MfG,

Electronix

Additional Headers mit mail()

Der folgende Beitrag wurde am 22. 06. 2009, 20:52 Uhr von Tom veröffentlicht.

Hello,

> Erstaunlich, das klappt tatsächlich!
> Vielen Dank!

Und wenn Du nun auch noch die Header vernünftig codierst, sodass sie nur 7-Bit-ASCII bekommen, dann wirst Du noch weniger Probleme haben.

http://de2.php.net/manual/en/function.mb-decode-mimeheader.php




Liebe Grüße aus dem schönen Oberharz


Tom vom Berg



--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4