Widerrufsbutton in 6.7.9.0 - bekomme es nicht hin - keine E-Mail

Hallo Gemeinde,

ich bekomme die Standardintegration vom Widerrufsbutton nicht hin. Der Anfrageersteller erhält einfach keine E-Mail. Ich habe den Flow mal mit dem normalen Kontaktformular getestet und da funktioniert es. Aber sobald ich über „revocation request“ gehe funktioniert es nicht. Anbei ein paar Screenshots meines Setups.

Sieht jemand warum das nicht klappt?

Danke für eure Hilfe.

MD

So war das bei mir ohne mein Zutun nach dem Update eingestellt und das funktioniert:

In MariaDB Installationen gab es leider ein Problem mit der Erkennung der UUID. Daher ist es in manchen Fällen nicht zu korrekten/vollständigen Einrichtung der E-Mails gekommen. Sollte in den anderen Foren Threads ebenfalls behandelt worden sein und auch wie man das behebt.

Alternativ sollte mit der neuen Shopware Version (wenn ich mich nicht irre, aber nicht sicher ob diese Woche), der Fehler behoben werden.

Hi,

also wir haben jetzt nochmal hin und her getestet. Der Flow funktioniert beim Kontaktformular - aber nicht bei revocation-request. Hier bekommt weder der Shopinhaber noch der Empfänger eine E-Mail. Es sieht so aus, alsob über revocation-request gar keine E-Mails versendet werden können. @Max_Shop kannst du mir mal bitte einen Direktlink schicken zum Thread wo das behandelt wird? Ich habe gesucht, finde aber nichts.

Martin

Also was ich festgestellt habe,

auf einer eigens erstellten Seite (mit dem neuen Formular) funktioniert das Senden nicht.
Mit der Seite vom Button Url /page/cms/UUID
funktioniert es.

Mit Shopware 6.7.10.x bzw. ggf. 6.7.11.x sollte der Fehler behoben werden, auch rückwirkend. Eventuell also abwarten, falls das nachzuvollziehen zu komplex ist.

Moin @moringa-deutschland ,

nutzt ihr eventuell noch Google ReCaptcha im Shop?

Grüße
Matthias

Nein, wir nutzen kein Recaptach - wir nutzen Shopguard von DeineHelden als Spamschutz.

Ich hänge mich hier mal mit an, weil es bei uns auch nicht funktioniert mit den E-Mails.

Shop läuft unter 6.7.10.2, also aktuell. Der Flow ist aktiv, Mail kommt nicht. Daraufhin mal den Flow deaktiviert und einen neuen Flow angelegt mit gleichem Inhalt, Mails gehen nicht raus.
Natürlich auch mal Cache geleert, Theme kompiliert, nichts.

Im Mail-Archiv sind alle Mails vorhanden und stehen dort auf Status „ausstehend“. Klicke ich dort die Mail an und sende sie von dort aus erneut, ändert sich der Status auf „erneut gesendet“, es kommt aber weiterhin keine Mail an.

Einen manuellen Eingriff in die DB würde ich nur ungern machen, was kann ich denn noch versuchen? Danke.

Ich habe es hinbekommen. Bei uns war es ein Shopware Fehler denn auch nach dem update auf 6.7.10.2 ging es nicht.

Es liegt daran, dass Shopware im E-Mail Template nicht ein eigenes Revocation anlegt, sondern weiterhin Kontakformular verwendet wird. Und hier sind die Variablen halt anders als im Widerrufsformular.

Im E-Mail Template Widerruf anlegen und Kontaktformular auswählen.

Das solltest du ändern

Text-Version

Ersetze den kompletten Inhalt durch:


Folgende Widerrufsanfrage wurde über den Widerrufsbutton eingereicht.

Vorname:
{{ revocationRequestFormData.firstName }}

Nachname:
{{ revocationRequestFormData.lastName }}

E-Mail:
{{ revocationRequestFormData.email }}

Vertrags-/Bestellnummer:
{{ revocationRequestFormData.contractNumber }}

Kommentar:
{{ revocationRequestFormData.comment }}

HTML-Version

Ersetze den Inhalt durch:


<div style="font-family:arial; font-size:12px;">
    <p>
        Folgende Widerrufsanfrage wurde über den Widerrufsbutton eingereicht.
        <br><br>

        Vorname:
        {{ revocationRequestFormData.firstName }}
        <br>

        Nachname:
        {{ revocationRequestFormData.lastName }}
        <br>

        E-Mail:
        {{ revocationRequestFormData.email }}
        <br>

        Vertrags-/Bestellnummer:
        {{ revocationRequestFormData.contractNumber }}
        <br>

        Kommentar:
        <br>
        {{ revocationRequestFormData.comment|nl2br }}
    </p>
</div>

Dann den Flow anlegen wie hier oben Beschrieben. Dann klappt es.

Hallo in die Runde,

wir arbeiten mit Version CE 6.6.10.18 und haben die Widerrufbutton aktiviert.

Er funktioniert wunderbar für DE/ES/FR, nur für EN wird er nicht versendet. Einen Eintrag im LOG Eintrag gibt es nicht.
Den Indexer neu aufbauen hat keinen Erfolg gebracht.

Ich hab den Flow neu gebaut: EN kommt nicht.

Ratlos.

Ok, ich habe den Fehler gefunden. Shopware hat das Email Template für Englisch US angelegt und nicht Englisch UK.

Das war doch nicht die Lösung. Laut Devtools liefert der Request eine 200 Bestätigung. Aber Emails werden nicht versendet…alles passt, die Inhalte der Vorlagen über die DB geprüft, zum verzeifeln…

Liebe Grüße Moira

Das ist ein bekanntes Problem nach dem 6.7.9.0-Update – in den meisten Fällen fehlt schlicht ein aktiver Flow im Flow Builder. Folgende Checkliste hilft:

1. Flow im Flow Builder anlegen (häufigste Ursache)

Unter Einstellungen → Flow Builder → Flow-Vorlagen gibt es nach dem Update auf 6.7.9.0 eine Vorlage „Withdrawal form sent". Daraus einen neuen Flow erstellen:

  • Auslöser: Widerrufsformular gesendet
  • Aktion: E-Mail senden → Vorlage „Widerrufsformular" auswählen
  • Flow auf „Aktiv" setzen und speichern

Ohne aktiven Flow passiert nach dem Absenden des Formulars buchstäblich nichts – kein Fehler, keine E-Mail, nur eine stille Bestätigungsseite.

Falls die Vorlage unter Flow-Vorlagen nicht auftaucht, einmal Cache leeren und danach das Update-Finish erneut ausführen:

php bin/console cache:clear
php bin/console system:update:finish

Das legt fehlende Mail-Templates und Flow-Vorlagen nach, falls sie beim ursprünglichen Update nicht angelegt wurden.

2. E-Mail-Vorlage vorhanden?

Unter Einstellungen → E-Mail-Templates prüfen, ob eine Vorlage für den Widerruf existiert. Fehlt sie, ebenfalls system:update:finish ausführen. Anschließend im Flow Builder prüfen, ob die Vorlage korrekt zugewiesen ist.

3. CMS-Seite richtig zugewiesen (häufiger Konfigurationsfehler)

Unter Einstellungen → Grundeinstellungen → Shopseiten prüfen, ob bei „Shopseiten-Layout für Widerrufsantrag-Seite" wirklich das Erlebniswelt-Layout mit dem Widerrufsformular hinterlegt ist – und nicht die Widerrufsbelehrung (Rechtstext). Die beiden Seiten sehen in der Auswahl ähnlich aus. Wenn hier das falsche Layout hinterlegt ist, wird das Formular gar nicht korrekt ausgeliefert und es gibt kein ausgelöstes Ereignis.

4. Plugin-Konflikt mit FroshPlatformMailArchive

Falls dieses Plugin installiert ist und im var/log/-Verzeichnis ein Fehler wie

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'mail_template_id' in 'field list'

auftaucht, ist das Plugin nicht kompatibel mit der aktuellen Shopware-Version. Lösung: Plugin auf die neueste Version aktualisieren.

Kurzübersicht der Prüfpunkte:

  • Flow im Flow Builder vorhanden und aktiv? → Einstellungen → Flow Builder
  • Mail-Vorlage für Widerruf vorhanden? → Einstellungen → E-Mail-Templates
  • Richtiges CMS-Layout zugewiesen? → Einstellungen → Grundeinstellungen → Shopseiten
  • FroshPlatformMailArchive auf aktuellem Stand? → Erweiterungen → Meine Erweiterungen
  • Mailversand grundsätzlich aktiv? (Bestellbestätigung kommt an?) → Einstellungen → System → Mailer

Grüße

Kann keine der Lösungen bestätigen.

Aktuell befinde ich mich auf Version 6.7.11.1 und E-Mails werden nicht versendet. Versucht wurde bereits:

Meine Beobachtung ist, im Gegesatz zu anderen Formularen, erhalte ich bei einer Test Mail, ein Syntax Error wenn ich {{ revocationRequestFormData.firstName }} benutze.

Den Dev Tools entnehme ich folgende Response

contentPlain	{ type: "error", content: 'Failed rendering string template using Twig: Key "contractNumber" does not exist as the sequence/mapping is empty in "4bcd90ecda8d30eef0fddb2053f09d82" at line 1.', errorTitle: "Rendering error", … }

Hi,

ist ein bekannter Bug:

Probier den Versand einfach ganz normal über die Storefront anstelle der Testmail. Dann sollte es auch funktionieren. Hier wurden die Variablen einfach nicht befüllt, weswegen der Test fehlschlägt.

Grüße

Bringt halt nichts, wenn es gar nicht funktioniert. Auch nicht im Storefront

Wenn du alle Punkte abgearbeitet hast und noch immer nicht weiterkommst, dann solltest du ggf. kurz jemand drauf schauen lassen, der die Datenbank und Error-Logs etc. versteht.

Wow… welch übergriffige und angriffslustige Antwort.

Kann man so lesen, muss man aber nicht. Ich verstehe es als freundliches Angebot.