Bestellbestätigung kommt in code

Hallo @haushalt-xxl

wir hatten das gleiche Problem.

Nach dem wir die PHP Version für den Shop auf 8.0 oder 8.1 geändert hatten, kamen die Mails wie bei dir falsch codiert an.

Nach etwas rum suchen fanden wir eine Lösung für unser Problem.
Dass Problem lag an einem falschen Zeilenumbruch Zeichen, der für das zusammen führen der Mail Header verwendet wird.
Wenn in Shopware eingestellt ist, dass die Mails mit der PHP standard mail() Methode verschickte werden, dann wird die Zend_Mail_Transport_Sendmail Klasse verwendet.
In dieser wird festgelegt, dass die Header mit dem Zeilenumbruch Zeichen aus der PHP Konstante php_eol zusammen geführt werden sollen.

Bei uns gab die Konstanten in PHP 7.4 „\r\n“ zurück und in PHP 8.0 oder PHP 8.1 nur „\n“, dadurch waren bei unseren Mails die Header zerschossen und die Mail wurde als code ausgegeben.

Als wir Testweise in der Datei „engine/Library/Zend/Mail/Transport/Sendmail.php“ den Wert in der Klassen-Variable „$EOL“ fest auf „\r\n“ gesetzt haben, wurden die Mails wieder normal angezeigt.

Vielleicht Hilft euch das bei eurem Problem.

MfG
David Hoffmann
von bgp e.media GmbH

2 „Gefällt mir“