Bestellbestätigung kommt in code

Wir haben ein komisches Problem. Email Bestellbestätigungen werden in dieser Form verschickt. Weiss jemand wie man es ändern kann?

–=_a39768a4f00ad653b419d6550f4a71ad
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

=0A =0AHallo Herr Betz,=0A=0Avielen Dank f=C3=BCr Ihre Bestellung=
im www.haus.e (Nummer: 13505) am 01.08.2022 um 17:06.=0AInform=
ationen zu Ihrer Bestellung:=0A=0APos. Art.Nr. Beschreibu=
ng Menge Preis Summe=0A=
1 SW13331 Jura S8 Moonlight Silver =
1 1.249,00=C2=A0=E2=82=AC 1.249,00=C2=A0=E2=82=AC=0A=
=0AVersandkosten: 0,00=C2=A0=E2=82=AC=0AGesamtkosten Netto: 1.049,58=C2=
=A0=E2=82=AC=0Azzgl. 19% MwSt. 199,42=C2=A0=E2=82=AC=0AGesamtkosten Brut=
to: 1.249,00=C2=A0=E2=82=AC=0A=0AGew=C3=A4hlte Zahlungsart: Kreditkarte=
(via Stripe)=0A=0A=0A=0AGew=C3=A4hlte Versandart: =0A=0A=0A=0ARechnungs=
adresse:=0A=0AManuel Betz=0ABrucknerstra=C3=9Fe 21 =0A81677 M=C3=BCnchen=
=0ADeutschland=0A=0ALieferadresse:=0APEC=0AChristian Betz=0AOhmstr.8 =0A=
85221 Dachau=0ADeutschland=0A=0A=0A=0AF=C3=BCr R=C3=BCckfragen stehen wi=
r Ihnen jederzeit gerne zur Verf=C3=BCgung.=0A=0AMit freundlichen Gr=C3=
=BC=C3=9Fen=0A=0AIhr Team von xl.de=0AAm Sandkamp 1=0A2211=
1 Hamburg=0ATel: +49 40 60 77 822 30 (Hotline)=0AFax: +49 40 60 77 822 3=
1=0Ainfo@hause

=0ABankverbindung:
=0AKontoinhaber=
Hanay GmbH=0AIBAN: DE64 024 0663 5023 00=0ABIC: DEDBFRA=0A

–=_a39768a4f00ad653b419d6550f4a71ad
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

=0A
= =0A 3D"Logo"=0A
=0A

=0A =

Hallo Herr Betz,
=0A
=0A = vielen Dank f=C3=BCr Ihre Bestellung bei www.haul.de (Num= mer: 13505) am 01.08.2022 um 17:06.
=0A
=0A = Informationen zu Ihrer Bestellung:


= =0A =0A =0A= =0A =0A =0A = =0A =0A= =0A =0A=0A= =0A =0A =0A = =0A = = =0A =0A =0A = =0A =0A
Pos. Artik= el Bezeichnung Menge Preis Summe
1 3D"Jura =0A = Jura S8 Moonlight Silver
=0A = Artikel-Nr: SW13331 =0A
1 1.= 249,00 € 1.249,00 €
=0A =0A

= =0A
=0A
=0A Versa= ndkosten: 0,00 €
=0A Gesamtkosten Netto: 1.= 049,58 €
=0A = zzgl. 19% MwSt. 199,42 €
=0A = Gesamtkosten Brutto: 1.249,00 €
=0A=
=0A
=0A = Gew=C3=A4hlte Zahlungsart: Kreditkarte (via St= ripe)
=0A =0A
=0A=
=0A
=0A =
=0A Gew=C3=A4hlte Versandart:
=0A
=0A

=0A

= =0A
=0A
=0A = Rechnungsadresse:
=0A =0A Manuel z
=0A Bructra=C3= =9Fe 21
=0A 677 M=C3=BCnchen
=0A = Deutschland
=0A
=0A
=0A = Lieferadresse:
=0A PE= C
=0A Christian Bz
=0A Ohmst=
=0A 85221 Dchau
=0A Deutschland=
=0A
=0A
=0A=
=0A F=C3=BCr R=C3=BCckfragen stehen= wir Ihnen jederzeit gerne zur Verf=C3=BCgung.
=0A =0AMit freundlichen Gr=C3=BC=C3=9Fen

=0AIhr Team von www.hau= s.de

=0A=0AAm Skamp 1
=0A22111 burg
=0ATel:= +49 40 60 77 822 30 (Hotline)
=0AFax: +49 40 60 77 822 31
=0A= info@hausde

=0ABankverbindung:
=0AKontoinhaber Han= sey GmbH
=0AIBAN: DE07 00663 5023 00
=0ABIC: DEUE= DBFRA
=0A=0A

=0A

–=_a39768a4f00ad653b419d6550f4a71ad–

Hallo @haushalt-xxl

nutzt ihr PHP8.0 oder PHP8.1 und als Methode zum Senden der Mails „mail“ ?
Da kann es zu eben diesen Problemen kommen, dass die Mail nicht richtig encodiert wird.
Als Lösung bleibt momentan nur der Umstieg auf „smtp“ oder ein Downgrad auf PHP7.4.

Um das in Shopware selbst zu fixen, ist ein größerer Umbau des Mailers nötig. Hier findest du das Ticket dazu: Shopware Issuetracker

Viele Grüße aus Schöppingen
Michael Telgmann

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 Likes

Danke für die Lösung. Das klingt einfacher als gleich von Zend Mail auf Symfony Mail umzustellen. Hoffentlich nimmt sich Shopware daran ein Beispiel.

Nachtrag:

Wir haben das Problem mittlerweile über ein Plugin gelöst, damit wir keine Kern Anpassung in Shopware haben.

Über das Event ‚Enlight_Components_Mail_Send‘, passen wir den Transport ‚Zend_Mail_Transport_Sendmail‘ an.
Wir prüfen ob im Event ein Transport übergeben wird, sonst nehmen wir das standard Transport aus der Mail.
Hier prüfen wir ob es die Klasse Zend_Mail_Transport_Sendmail ist und setzten anschließend die public Variable in der Klasse auf „\r\n“.

Dadurch konnten wir den Fix via Plugin umsetzten und haben keine Anpassung in den Kern Dateien bei Shopware.

MfG
David Hoffmann
von bgp e.media GmbH