[Postfixbuch-users] header umbrueche

Beat Jucker beat at juckers.ch
Fr Apr 27 16:43:36 CEST 2012


Hallo Hajo

Ich habe mich nicht mit PHP und sendmail im Detail herumgeschlagen. Aber 
hier meine Gedanken um das "Mysteriös" zu erhellen. In Unix bedeuten

     \r = carriage return
     \n = new line (linefeed) --> gleichbedeutend mit Zeilenumbruch

In Unix bedeutet also das einzelne Zeichen "\n" Zeilenumbruch, in 
Windows werden dafür zwei Zeichen "\r\n" verwendet.

Wie soll ein String endend mit "\r\n" Umgesetzt werden? Wie sollen 
Anwendungen ein einzelnes "\r", ein einzelnes "\n" oder Zeichen in 
Kombination "\r\n" interpretieren? Es kann sein, dass Anwendungen das 
einzelne Zeichen "\r" in ein "\r\n"umwandeln. Je nach OS und Anwendung 
kann dies anderst interpretiert werden ... leider.

Zudem setzt sich der Email Header aus verschiedenen Header-Feldern 
zusammen ("To:", "Subject" und weiteren Feldern wie "Reply-To"). Bei 
einzelnen Header Feldern definierst du explizit "\r\n" und bei anderen 
überlässt du es PHP. Was macht PHP am Zeilenende? Je nach OS kann es ein 
"\r\n" (Windows)  oder ein "\n" (Unix) sein und schon hast du "mixed 
line endings".

In neueren Postfix Versionen kann anscheinend das NewLine-Verhalten 
konfiguriert werden, fast wie in den guten alten TTY Zeiten mit den 
Terminal Treibern ... ;-)

Aber wie gesagt, dies sind nur meine Gedanken und muss nichts mit deinem 
Problem zu tun haben.

Gruss
-- Beat

>>> Am 27.04.2012 11:51, schrieb Hajo Locke:
>>>> Ich nehme hier ein simples Beispiel aus php.net:
>>>>
>>>> <?php
>>>> $to = 'ich at example.com';
>>>> $subject = 'the subject';
>>>> $message = 'hello';
>>>> $headers = 'From: webmaster at example.com' . "\r\n" .
>>>> 'Reply-To: webmaster at example.com' . "\r\n" .
>>>> 'X-Mailer: PHP/' . phpversion();
>>>>
>>>> mail($to, $subject, $message, $headers);
>>>> ?>
>>>>
>>>> Schicke ich mir diese Mail an mein lokales Postfach zu (dovecot) ist
>>>> alles ok, sende ich sie dagegen an GMX, dann scheint gmx den header
>>>> nicht zu mögen.
>>>> Das \r\n veranlasst gmx auch wirklich zu einem doppelten Umbruch 
>>>> (sieht
>>>> man schön in der gmx Weboberfläche),
>>>

...

> ahh, danke, das ist ja genau mein Thema. Verschiedene Umbrüche 
> innerhalb des headers würden das erklären.
> Aber die ersten Teile des Header from, subject etc. werden ja durch 
> php selbst erzeugt. Ich kann auch nicht glauben dass php dort einen 
> falschen Umbruch setzt und somit für "mixed line endings" 
> verantwortlich ist. Mysteriös...



Mehr Informationen über die Mailingliste Postfixbuch-users