Fehlerbehebung
Fehler „An error occurred while sending the message“ im Kontaktformular von PrestaShop
Die Meldung An error occurred while sending the message, please try again. zeigt, dass das Modul contactform das Absenden abgelehnt hat, nennt aber für sich allein nicht die Ursache. In aktuellen Versionen kann sie erscheinen, wenn das Fallenfeld url Daten enthält oder das Token fehlt, nicht zur Sitzung passt oder abgelaufen ist.
Öffnen Sie das Formular frisch und führen Sie genau einen Test durch, während Sie die Anfrage unter Netzwerk / Network in den Entwicklertools des Browsers beobachten. Prüfen Sie, ob url und token gesendet werden, und notieren Sie die Versionen von PrestaShop, dem Modul contactform und dem Theme. Bei Modulversionen, die eine Gültigkeit von 600 Sekunden festlegen, kann auch ein Tab fehlschlagen, der länger offen war.
Wenn die Anfrage diese Felder nicht enthält, vergleichen Sie das Template des Moduls mit dem aktiven Override des Themes:
/themes/Nombre_Tema/modules/contactform/views/templates/widget/contactform.tpl
Die bevorzugte Lösung ist, das Theme zu aktualisieren oder beim Entwickler einen Override anzufordern, der zur installierten Version von contactform passt. Nur wenn Sie bestätigt haben, dass der Override veraltet ist und die Felder fehlen, fügen Sie vor der Absenden-Schaltfläche den entsprechenden Block aus dem offiziellen Template ein:
<style>
input[name=url] {
display: none !important;
}
</style>
<input type="text" name="url" value="" />
<input type="hidden" name="token" value="{$token|escape:'htmlall':'UTF-8'}" />
Leeren Sie den Cache von PrestaShop und senden Sie erneut von einer frisch geladenen Seite. Wenn die Felder schon vorhanden waren, ändern Sie das Template nicht: Prüfen Sie die genaue Antwort, die Cookies und die Protokolle der Anwendung, bevor Sie den Fehler dem Theme zuschreiben.
Siehe das offizielle Template des Moduls contactform für die installierte Version.
Cache, Sitzung und Zustellung
Prüfen Sie, dass ein Seiten-Cache oder CDN das Formular nicht mit dem Token einer anderen Sitzung oder einem abgelaufenen Token wiederverwendet. Testen Sie von einer frisch geladenen Seite und behalten Sie die Cookies beim Absenden bei; entfernen Sie weder die Token-Prüfung noch das Fallenfeld, um die Annahme zu erzwingen.
Der gezeigte Block funktioniert nur, wenn diese Modulversion dem Template die Variable token bereitstellt. Vergleichen Sie mit dem Tag der installierten Version, nicht nur mit dem Zweig dev des Repositorys. Wenn das Formular angenommen wird, prüfen Sie auch das Ziel der Nachricht: Die bestandene Prüfung garantiert nicht, dass SMTP sie zustellt.
Das könnte Ihnen auch helfen
- Fehler beim Installieren von Modulen in PrestaShop, The file is missing Diagnostizieren Sie The file is missing anhand des PHP-Upload-Codes und der Protokolle, bevor Sie Li...
- Update Assistant zeigt „Please fix the following error(s)“ Finden Sie die Anforderung oder den nicht beschreibbaren Pfad, der den Update Assistant von PrestaSh...
- 404-Fehler bei statischen Dateien verlangsamen die Website Erkennen Sie fehlende statische Ressourcen, die PHP starten und CPU verbrauchen, liefern Sie sie als...
- Den Debug-Modus von PrestaShop vorübergehend aktivieren Ermitteln Sie die genaue Exception, indem Sie _PS_MODE_DEV_ vorübergehend über das Backoffice oder d...
Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.