Warum eine Mail nicht verschickt wird
46 Vorlagentypen, 44 Vorlagen. Zwei Typen haben überhaupt keine Vorlage — ein Ablauf, der auf einen davon zeigt, verschickt nichts und meldet nichts.
„Die Bestellbestätigung kommt nicht an." Der erste Blick geht fast immer zum Mailserver, und der ist fast nie schuld. Zwischen dem Ereignis und dem Postfach liegen fünf Stellen, und die ersten vier sind in Shopware.
Die Kette
Ereignis tritt ein
→ ein Ablauf hört darauf
→ der Ablauf ist aktiv
→ ein Schritt sendet eine Mail
→ der Schritt zeigt auf einen Vorlagentyp
→ zu diesem Typ existiert eine Vorlage
→ erst jetzt: Mailserver
Jede Stelle davor kann den Versand verhindern, und keine davon meldet sich.
Was die Zahlen sagen
Aus einer laufenden Installation:
| Vorlagentypen | 46 |
| Vorlagen | 44 |
| Typen ohne jede Vorlage | 2 |
| davon Systemvorlagen | 44 von 44 |
| Abläufe angelegt | 34 |
| davon aktiv | 34 |
| Schritte mit Mail-Aktion | 35 |
Die zwei Typen ohne Vorlage:
product_stock_warning
sepa_confirmation
Ein Ablauf, der auf einen davon zeigt, läuft durch und verschickt nichts.
Dass alle 44 Vorlagen Systemvorlagen sind, ist ebenfalls eine Information: Im Demoshop hat niemand eine eigene angelegt. In einem gewachsenen Shop ist das anders — und dort ist die zweite häufige Ursache, dass eine eigene Vorlage angelegt, aber keinem Verkaufskanal zugeordnet wurde.
Die Reihenfolge, in der wir prüfen
Von hinten nach vorn, weil der häufigste Fund am Anfang der Kette liegt und die Prüfung dort am schnellsten geht.
1. Existiert eine Vorlage zum Typ? Die Zahl der Typen gegen die Zahl der Vorlagen halten. Weichen sie ab, gibt es Typen ohne Vorlage — und dann ist die Frage, ob der eigene Ablauf auf einen davon zeigt.
2. Ist die Vorlage dem Verkaufskanal zugeordnet? Eine Vorlage ohne Kanalzuordnung greift in diesem Kanal nicht. Bei mehreren Kanälen ist das der zweithäufigste Fund.
3. Ist der Ablauf aktiv? 34 von 34 aktiv ist der Auslieferungszustand. In gewachsenen Shops steht hier regelmäßig etwas auf „aus", das jemand einmal zum Testen deaktiviert hat.
4. Hört der Ablauf auf das richtige Ereignis?
checkout.order.placed ist nicht state_enter.order.state.in_progress. Wer
eine Mail beim Statuswechsel erwartet und den Ablauf an die Bestellung gehängt
hat, wartet vergeblich.
5. Tritt das Ereignis überhaupt ein? Ein Statuswechsel, den niemand auslöst, löst auch keine Mail aus. Und ein Zustandsübergang, den es im Automaten gar nicht gibt, findet nicht statt.
Erst danach: der Mailserver.
Der Fall, den man nicht sieht
Die unangenehmste Variante ist Punkt 1, weil sie sich wie ein Mailproblem anfühlt. Der Ablauf ist aktiv, der Schritt ist da, das Ereignis tritt ein — und es passiert nichts. Kein Eintrag im Mailprotokoll, kein Fehler im Log, keine Warnung in der Administration.
Sichtbar wird es nur, wenn man Vorlagentypen und Vorlagen gegeneinander hält. Das ist eine Abfrage und in jedem Shop in einer Minute erledigt — und sie sollte am Anfang jeder Mailfehlersuche stehen, nicht am Ende.
Grenzen dieser Messung
Es wurde kein Mailversand ausgelöst. Gemessen ist die Datenlage: welche Typen, welche Vorlagen, welche Abläufe, welche Schritte. Ob im konkreten Fall der Mailer, die Kanalzuordnung oder die Vorlage schuld ist, unterscheidet diese Messung nicht — sie sagt nur, in welcher Reihenfolge man nachsieht.
Die Zahlen stammen aus einer Demoinstallation mit 6.7.13.1 und neun Plugins. Ein Plugin kann eigene Vorlagentypen mitbringen; die Differenz zwischen Typen und Vorlagen kann in einem echten Shop deshalb andere Ursachen haben als hier.
Häufige Fragen
- Woran liegt es, wenn Shopware keine Mail verschickt?
- Zwischen Ereignis und Postfach liegen fünf Stellen: das Ereignis muss eintreten, ein Ablauf muss darauf hören, der Ablauf muss aktiv sein, die Aktion muss auf einen Vorlagentyp zeigen, und zu diesem Typ muss eine Vorlage existieren. Erst danach kommt der Mailserver.
- Welche Vorlagentypen haben ab Werk keine Vorlage?
- In der gemessenen 6.7.13.1 zwei: product_stock_warning und sepa_confirmation. Ein Ablauf, der auf einen davon zeigt, erzeugt keine Mail.
- Sehe ich einen Fehler, wenn die Vorlage fehlt?
- Nicht im Alltag. Der Ablauf läuft, der Schritt wird ausgeführt, und es entsteht keine Mail. Sichtbar wird es erst, wenn man Typ und Vorlage gezielt gegeneinander hält.
- Wo sehe ich, ob überhaupt versendet wurde?
- Im Mail-Protokoll des Shops, sofern aktiviert, und im Log des Mailservers. Fehlt der Eintrag an beiden Stellen, lag es nicht am Versand, sondern davor.
