PrestaShop gehackt: Das falsche Captcha im Shop ist ClickFix
Zeigt Ihr Shop ein falsches „Bestätigen Sie, dass Sie ein Mensch sind“, hat jemand Code eingeschleust. Wo er in…
Montagmorgen. Ein Kunde schreibt Ihnen und fragt, ob seine Bestellung vom Samstag angekommen ist, weil er nichts bekommen hat. Sie öffnen das Backoffice, und da ist sie, bezahlt. Die vom Sonntag auch, und alle Bestellungen der ganzen Woche. Ihr Shop verkauft, aber seit Sie auf PrestaShop 9 umgestiegen sind, ist keine einzige E-Mail bei irgendjemandem angekommen.
Wenn Sie über Ihren eigenen Mailserver versenden —IONOS, Strato, Microsoft 365, Gmail oder den Ihres Hosters— und dabei Port 587 nutzen, haben Sie nichts falsch eingestellt. Es ist ein Fehler in PrestaShop 9, der in allen Versionen von 9.0.0 bis 9.1.5 steckt und erst in 9.2 behoben wurde, veröffentlicht am 30. September 2026.
Öffnen Sie Erweiterte Einstellungen → Log-Dateien. Wenn jede Bestellung dort eine Zeile wie diese hinterlassen hat, ist es Ihr Fall:
Mailer Error: Connection could not be
established with host
"ssl://smtp.ionos.de:587":
stream_socket_client(): SSL operation
failed with code 1. OpenSSL Error
messages: error:0A00010B:SSL
routines::wrong version number
Der Servername ist Ihrer. Was den Fehler verrät, ist das ssl:// vorne und das :587 hinten. Dieselbe Meldung erscheint sofort, wenn Sie unter Erweiterte Einstellungen → E-Mail auf „Test-E-Mail senden“ klicken.
Das Tückische ist alles, was nicht passiert. Der Kunde sieht keinen Fehler, die Bestellung wird gespeichert, die Zahlung geht durch. Deshalb dauert es Tage, bis es auffällt, und fast immer ist es ein Kunde, der Sie darauf bringt, weil er nach seiner Rechnung oder seiner Sendungsnummer fragt.
Es gibt zwei Arten, das Gespräch mit einem Mailserver zu verschlüsseln. Bei der einen ist alles ab der ersten Sekunde verschlüsselt, und genau das erwartet Port 465. Bei der anderen begrüßt man sich zuerst unverschlüsselt und bittet gleich danach darum, verschlüsselt weiterzureden: Das ist Port 587. Es sind zwei verschiedene Türen, und jede erwartet, dass man auf ihre Art anklopft.
Bis PrestaShop 8 hat die Option „TLS“ im Backoffice an der Tür von Port 587 so angeklopft, wie diese Tür es erwartet. PrestaShop 9 hat das Bauteil ausgetauscht, mit dem es E-Mails versendet (von SwiftMailer auf Symfony Mailer), und dabei auch geändert, was diese Option tut: „TLS“ verschlüsselt jetzt ab der ersten Sekunde. Es klopft an Port 587, als wäre es Port 465, der Server antwortet mit einer normalen Begrüßung, und PrestaShop, das eine verschlüsselte Antwort erwartet hat, versteht nichts. Das ist die „wrong version number“.
Deshalb bricht es genau beim Update von 8 auf 9: Dieselben Zugangsdaten, die funktioniert haben, funktionieren nicht mehr, ohne dass Sie etwas angefasst haben. Und deshalb ist die frühere Option „SSL“ verschwunden: In PrestaShop 9 bietet die Auswahl für die Verschlüsselung nur noch „Keine“ und „TLS“.
Die Einstellung finden Sie unter Erweiterte Einstellungen → E-Mail, mit „Meine eigenen SMTP-Einstellungen verwenden“ ausgewählt. Was Sie eintragen müssen, hängt davon ab, welche Ports Ihr Anbieter annimmt, und wir haben es einzeln an den Servern von elf Anbietern geprüft:
ssl0.ovh.net)—: Verschlüsselung TLS und Port 465. So ist unser eigener Shop eingestellt, und der läuft auf PrestaShop 9.smtp.office365.com), Email Pro von OVH (pro1, pro2 oder pro3.mail.ovh.net) und Exchange von OVH—: Verschlüsselung Keine und Port 587. Mit diesen Anbietern funktioniert „TLS“ in 9.0 und 9.1 auf keinem Port.Wir wissen, dass die zweite Variante Bauchschmerzen macht, weil dort „Keine“ steht. Das heißt aber nicht, dass Ihr Passwort offen durchs Netz geht. Mit dieser Option grüßt PrestaShop 9 unverschlüsselt und verschlüsselt das Gespräch, sobald der Server es anbietet —das tun alle diese Anbieter—, noch bevor Benutzername und Passwort gesendet werden. Wir haben es an den Servern von Microsoft 365 und OVH geprüft: Die Verbindung ist verschlüsselt (TLS 1.3 bei Microsoft, TLS 1.2 bei OVH), bevor irgendwelche Daten hinausgehen.
Speichern, Test-E-Mail senden, und wenn sie ankommt, sind Sie fertig: Bestellungen, die ab jetzt eingehen, versenden ihre E-Mails. Die liegengebliebenen gehen nicht von selbst noch einmal raus. Auf der Seite jeder Bestellung, im Statusverlauf, schickt der Button „E-Mail erneut senden“ die E-Mail dieses Status noch einmal, etwa die zur angenommenen Zahlung oder zum Versand.
Wenn Sie in PrestaShop 8 „SSL“ mit Port 465 eingestellt hatten, versendet der Shop nach dem Update weiter: PrestaShop 9 behält diesen Wert und behandelt ihn wie sein „TLS“. Das Problem kommt an dem Tag, an dem Sie diese Seite öffnen und speichern, auch wenn Sie nur etwas anderes ändern. Weil „SSL“ nicht mehr in der Auswahl steht, zeigt das Backoffice „Keine“ an, und genau das wird gespeichert. Mit „Keine“ und Port 465 wartet der Shop auf eine Antwort, die nie kommt, und im Log steht Connection to "…:465" timed out.
Wir haben es in unserem Testshop nachgestellt. Bevor Sie auf dieser Seite irgendetwas speichern, prüfen Sie, dass bei der Verschlüsselung steht, was Sie wollen.
9.2 behebt es an der Wurzel: „TLS“ funktioniert auf Port 587 wieder wie in PrestaShop 8. Es ist die Änderung 42197 des Projekts, die einen im August 2024 eröffneten Fehlerbericht schließt. In 9.1.5, die letzte Version der 9.1-Reihe, hat sie es nicht mehr geschafft: Wenn Sie irgendeine 9.0 oder 9.1 nutzen, haben Sie den Fehler.
Was Sie heute nach dieser Anleitung einstellen, gilt auch nach dem Update weiter —„TLS“ mit Port 465 und „Keine“ mit Port 587 versenden in 9.2 genauso—, es gibt also nichts rückgängig zu machen. Bringen Sie Ihre E-Mails jetzt in Ordnung und aktualisieren Sie, wann es Ihnen passt, ohne Eile: 9.2 bringt große Änderungen, etwa den neuen Checkout auf einer einzigen Seite, und Ihre Zahlungs- und Versandmodule müssen dafür bereit sein. Ein solches Update testet man zuerst an einer Kopie des Shops.
Microsoft hat angekündigt, Ende Dezember 2026 das Versenden aus Anwendungen mit Benutzername und Passwort standardmäßig abzuschalten, und genau so versendet PrestaShop. Der Administrator Ihres Microsoft-Kontos kann es wieder einschalten, und den Termin für die endgültige Abschaltung will Microsoft in der zweiten Jahreshälfte 2027 bekanntgeben. Wenn Ihr Shop für seine E-Mails von Microsoft 365 abhängt, ist jetzt ein guter Zeitpunkt, ihn auf einen Dienst für Transaktions-E-Mails wie Brevo oder Mailjet umzustellen und dieses Datum los zu sein.
Das Log sagt Ihnen, wo Sie weitersuchen. Steht dort Failed to authenticate, liegt es am Benutzernamen oder am Passwort: Der Benutzername ist immer die vollständige Adresse, und bei Microsoft 365 muss für das Postfach authentifiziertes SMTP aktiviert sein. Steht dort timed out, gibt es diesen Port bei Ihrem Anbieter nicht —Microsoft 365 und OVH Email Pro haben keinen Port 465—, oder Sie sind in die Falle mit der Auswahl getappt, oder Ihr Hoster lässt über diesen Port nichts hinaus.
Und wenn Sie lieber jemanden draufschauen lassen, der das schon gelöst hat, schicken Sie uns die Meldung aus dem Log und Ihre PrestaShop-Version. Wir sagen Ihnen, was Sie in Ihrem Fall eintragen müssen, und wenn noch etwas anderes dahintersteckt, bringen wir es zum Laufen.
Wenn Ihre E-Mails wieder rausgehen, sorgen Sie dafür, dass es sich lohnt, sie zu öffnen: Darum ging es in Die Bestellbestätigung ist die schlechteste Seite Ihres Shops.
Zeigt Ihr Shop ein falsches „Bestätigen Sie, dass Sie ein Mensch sind“, hat jemand Code eingeschleust. Wo er in…
Aus dem Ausland lädt sie einwandfrei, aus Spanien läuft sie in die Zeitüberschreitung – ausgerechnet am Spieltag. Nicht…
Ein Modul, eine App, ein Server, der Ärger macht, oder einfach eine Einschätzung. Die erste Beratung kostet nichts, und daraus wird ein Festangebot mit Preis und Termin.