Shopware Problemlösung

Shopware-Bestellmails werden nicht versendet

Bestellungen werden im Shopware-Backend angelegt, aber der Kunde oder Shopbetreiber erhält keine Bestellbestätigung. Diese Anleitung zeigt, wie Mailer, Flow Builder, Message Queue, Scheduled Tasks und Zahlungsarten systematisch geprüft werden.

Fehlerbild

Bestellung vorhanden, Bestellbestätigung fehlt.

Häufige Ursache

Mailer, Flow Builder oder Message Queue arbeitet nicht korrekt.

Wichtig

Nicht sofort Plugins deaktivieren oder Datenbankeinträge ändern.

Inhaltsverzeichnis

  1. Fehlerbild eingrenzen
  2. Mailer-Konfiguration prüfen
  3. Flow Builder kontrollieren
  4. E-Mail-Vorlagen prüfen
  5. Message Queue kontrollieren
  6. Scheduled Tasks prüfen
  7. Logdateien auswerten
  8. Zahlungsarten vergleichen
  9. Cronjobs dauerhaft einrichten
  10. Abschlusskontrolle

1. Fehlerbild zuerst genau eingrenzen

Vor Änderungen am Shop muss geklärt werden, welche E-Mails fehlen. Nicht jeder fehlende Versand hat dieselbe Ursache.

  • Fehlt nur die Bestellbestätigung an den Kunden?
  • Fehlt nur die Benachrichtigung an den Shopbetreiber?
  • Fehlen beide E-Mails?
  • Tritt der Fehler bei jeder Bestellung auf?
  • Tritt er nur bei bestimmten Zahlungsarten auf?
  • Werden andere Shopware-E-Mails weiterhin versendet?
  • Landet die Nachricht im Spam- oder Quarantäneordner?
Praktischer Test

Eine Testbestellung mit Vorkasse durchführen. Danach denselben Ablauf mit PayPal, Kreditkarte oder einer anderen betroffenen Zahlungsart wiederholen. Dadurch lässt sich erkennen, ob der Fehler allgemein oder zahlungsabhängig auftritt.

Beobachtung Wahrscheinlicher Prüfbereich
Keine E-Mail wird versendet Mailer, SMTP-Zugang, Message Queue oder Server
Nur Bestellmails fehlen Flow Builder, Ereignis oder E-Mail-Vorlage
Nur einzelne Zahlungsarten betroffen Zahlungsstatus, Plugin-Ereignis oder Flow-Bedingung
E-Mails kommen stark verzögert Message Queue, Worker oder Cronjob
Nur interne Empfänger fehlen Empfänger-Konfiguration des jeweiligen Flows

2. Mailer-Konfiguration prüfen

In der Shopware-Administration muss zunächst kontrolliert werden, über welchen Transportweg E-Mails versendet werden. Bei SMTP sind insbesondere Server, Port, Benutzername, Passwort und Verschlüsselung relevant.

  • Shopware-Administration öffnen.
  • Mailer- beziehungsweise E-Mail-Konfiguration aufrufen.
  • Absenderadresse und Absendername kontrollieren.
  • SMTP-Server, Port und Verschlüsselung prüfen.
  • Zugangsdaten bei Bedarf neu eintragen und speichern.
  • Danach eine neue Testbestellung durchführen.
Typischer Konfigurationsfehler

Port und Verschlüsselung müssen zusammenpassen. Häufig verwendete Kombinationen sind Port 465 mit SSL oder Port 587 mit STARTTLS. Maßgeblich sind jedoch die Vorgaben des jeweiligen E-Mail-Anbieters.

Absenderadresse kontrollieren

Die verwendete Absenderadresse sollte zu der Domain gehören, über deren Mailserver versendet wird. Eine abweichende oder nicht freigegebene Absenderadresse kann vom SMTP-Server oder vom Empfängersystem abgelehnt werden.

Zusätzlich sollten die DNS-Einträge der Versanddomain geprüft werden. Dazu gehören insbesondere SPF, DKIM und gegebenenfalls DMARC. Diese Einträge beeinflussen die Zustellbarkeit, ersetzen aber nicht die Prüfung des eigentlichen Shopware-Versands.

3. Flow Builder kontrollieren

In Shopware 6 werden viele E-Mails über den Flow Builder ausgelöst. Für die Bestellbestätigung muss ein aktiver Flow vorhanden sein, dessen Ereignis bei einer Bestellung ausgelöst wird.

Im Flow prüfen

  • Ist der Flow aktiv?
  • Ist das richtige Ereignis ausgewählt?
  • Ist die Aktion zum Versenden einer E-Mail vorhanden?
  • Wurde die richtige E-Mail-Vorlage zugeordnet?
  • Ist der Empfänger korrekt konfiguriert?
  • Verhindert eine Regel oder Bedingung die Ausführung?
  • Ist der Flow auf den richtigen Verkaufskanal begrenzt?
Nicht vorschnell duplizieren

Ein zusätzlicher Bestellmail-Flow kann später doppelte Bestellbestätigungen verursachen. Zuerst den vorhandenen Flow und dessen Bedingungen prüfen.

Empfänger im Flow

Für die Kundenbestätigung wird normalerweise der Kunde aus dem ausgelösten Ereignis verwendet. Eine interne Bestellbenachrichtigung an den Shopbetreiber benötigt dagegen eine feste oder aus der Verkaufskanal-Konfiguration übernommene Empfängeradresse.

4. E-Mail-Vorlagen und Verkaufskanal prüfen

Auch bei einem funktionierenden Flow kann der Versand scheitern, wenn die zugeordnete E-Mail-Vorlage fehlerhaft oder für die verwendete Sprache nicht vollständig gepflegt ist.

  • Betreff der Vorlage vorhanden
  • HTML-Inhalt vorhanden
  • Textversion vorhanden
  • Inhalt in der verwendeten Sprache gepflegt
  • Keine fehlerhaften Twig-Anweisungen
  • Absender für den Verkaufskanal vorhanden
  • Domain und Sprache korrekt zugeordnet
Fehler nach einer Vorlagenänderung

Tritt das Problem unmittelbar nach einer Änderung der E-Mail-Vorlage auf, sollte zunächst auf eine funktionierende Version zurückgegangen oder die Änderung schrittweise entfernt werden.

5. Message Queue kontrollieren

Shopware verarbeitet verschiedene Aufgaben asynchron über die Message Queue. Dazu kann auch der E-Mail-Versand gehören. Werden die Nachrichten nicht abgearbeitet, bleiben E-Mails aus oder werden erst mit erheblicher Verzögerung verschickt.

1

In das Shopware-Verzeichnis wechseln

Shell
cd /pfad/zum/shopware-verzeichnis
2

Message Queue testweise abarbeiten

Shopware CLI
bin/console messenger:consume default --time-limit=60

Bei Installationen mit einem festen PHP-Pfad kann der Befehl beispielsweise so ausgeführt werden:

Shopware CLI mit PHP-Pfad
/usr/bin/php bin/console messenger:consume default --time-limit=60
3

Danach neue Testbestellung ausführen

Wird die zuvor fehlende E-Mail nach dem manuellen Start des Workers versendet, liegt das Problem sehr wahrscheinlich an einem fehlenden oder nicht funktionierenden dauerhaften Worker beziehungsweise Cronjob.

Befehl beendet sich nach 60 Sekunden

Das ist durch den Parameter --time-limit=60 beabsichtigt. Für den dauerhaften Betrieb muss der Prozess regelmäßig neu gestartet oder über einen Prozessmanager betrieben werden.

6. Scheduled Tasks prüfen

Scheduled Tasks führen wiederkehrende Aufgaben aus und übergeben diese zur Verarbeitung an die Message Queue. Ein nicht laufender Scheduled-Task-Prozess kann daher weitere Hintergrundprozesse beeinträchtigen.

Status anzeigen

Shopware CLI
bin/console scheduled-task:list

Die Ausgabe zeigt unter anderem den Namen, die nächste und letzte Ausführung sowie den jeweiligen Status der Tasks.

Scheduled Tasks testweise starten

Shopware CLI
bin/console scheduled-task:run --time-limit=60

Mit festem PHP-Pfad:

Shopware CLI mit PHP-Pfad
/usr/bin/php bin/console scheduled-task:run --time-limit=60
Empfohlene Reihenfolge für den Test

Zuerst Scheduled Tasks starten, danach die Message Queue abarbeiten und anschließend eine neue Testbestellung durchführen.

7. Shopware- und Server-Logs auswerten

Bleibt der Versand weiterhin aus, müssen die Logdateien zum Zeitpunkt der Testbestellung geprüft werden.

Shopware-Logverzeichnis anzeigen

Shell
ls -lah var/log/

Letzte Einträge einer Logdatei ansehen

Shell
tail -n 200 var/log/prod-*.log

Nach typischen Mailfehlern suchen

Shell
grep -RiE "mail|mailer|smtp|transport|messenger|exception" var/log/ | tail -n 200

Zusätzlich können die Logs des Webservers, PHP-Prozesses, Mailservers oder Hosters relevant sein.

Fehlerhinweis Mögliche Ursache
Authentication failed SMTP-Benutzername oder Passwort falsch
Connection refused Port gesperrt, Server falsch oder Dienst nicht erreichbar
Connection timed out Firewall, Hosting-Sperre oder falscher SMTP-Host
Unable to connect with STARTTLS Falsche Verschlüsselung oder Serverkonfiguration
Twig- oder Template-Fehler Fehlerhafte E-Mail-Vorlage
Messenger-Exception Fehler bei der Verarbeitung der Warteschlange

8. Fehler nach Zahlungsart unterscheiden

Werden Bestellmails bei Vorkasse versendet, fehlen aber bei PayPal, Kreditkarte oder Amazon Pay, funktioniert der Mailer grundsätzlich. Dann muss die Verarbeitung der betroffenen Zahlungsart genauer untersucht werden.

Zu kontrollierende Punkte

  • Wird die Bestellung vollständig angelegt?
  • Welchen Bestellstatus erhält sie?
  • Welchen Zahlungsstatus erhält sie?
  • Wird der vorgesehene Flow ausgelöst?
  • Enthält der Flow Bedingungen zum Zahlungsstatus?
  • Gibt es Fehler im Log des Zahlungsplugins?
  • Wurde das Zahlungsplugin kürzlich aktualisiert?
  • Funktionieren Webhooks und Rückleitungen des Anbieters?
Wichtige Abgrenzung

Ist nur eine Zahlungsart betroffen, sollte nicht zuerst die globale SMTP-Konfiguration verändert werden. Der Vergleich der Bestell- und Zahlungsstatus liefert meist die bessere Spur.

9. Cronjobs oder Worker dauerhaft einrichten

Funktioniert der Versand nach der manuellen Ausführung der CLI-Befehle, müssen Message Queue und Scheduled Tasks dauerhaft auf dem Server verarbeitet werden.

Beispiel für Scheduled Tasks

Cronjob-Beispiel
* * * * * cd /pfad/zum/shopware-verzeichnis && /usr/bin/php bin/console scheduled-task:run --time-limit=55 >> /dev/null 2>&1

Beispiel für die Message Queue

Cronjob-Beispiel
* * * * * cd /pfad/zum/shopware-verzeichnis && /usr/bin/php bin/console messenger:consume default --time-limit=55 --memory-limit=512M >> /dev/null 2>&1
Serverabhängige Konfiguration

PHP-Pfad, Shopware-Verzeichnis, Speicherlimit und Ausführungsart müssen an das Hosting angepasst werden. Bei größeren Shops ist ein dauerhaft über Supervisor oder systemd überwachter Worker meist geeigneter als ein einfacher Cronjob.

10. Abschlusskontrolle

Nach jeder Änderung sollte eine vollständig neue Bestellung ausgelöst werden. Das erneute Öffnen einer vorhandenen Bestellung ersetzt diesen Test nicht.

  • Neue Testbestellung wurde angelegt
  • Kundenmail wurde empfangen
  • Interne Benachrichtigung wurde empfangen
  • HTML- und Textdarstellung funktionieren
  • Absender und Antwortadresse stimmen
  • Keine neue Exception im Shopware-Log
  • Message Queue wird dauerhaft verarbeitet
  • Scheduled Tasks werden regelmäßig ausgeführt
  • Mehrere Zahlungsarten wurden getestet
  • Spam- und Quarantäneordner wurden kontrolliert
Fehler behoben

Erst wenn mehrere Testbestellungen mit unterschiedlichen Zahlungsarten korrekt versendet wurden und die Prozesse auch ohne manuellen CLI-Aufruf weiterlaufen, ist die Störung dauerhaft behoben.

Häufige Fragen

Warum werden Bestellmails erst einige Minuten später versendet?

Eine häufige Ursache ist eine verzögerte Verarbeitung der Message Queue. Der Versand erfolgt dann erst, wenn ein Worker oder Cronjob die wartenden Nachrichten abarbeitet.

Warum funktioniert Vorkasse, aber PayPal nicht?

In diesem Fall funktioniert der grundsätzliche Mailversand wahrscheinlich. Geprüft werden sollten der Zahlungsstatus, das Zahlungsplugin, die Rückmeldung des Zahlungsanbieters und mögliche Bedingungen im Flow Builder.

Kann ich eine fehlende Bestellmail erneut versenden?

Abhängig von Shopware-Version, Erweiterungen und Konfiguration kann eine Nachricht aus der Bestellung heraus erneut ausgelöst werden. Vorher sollte jedoch die Fehlerursache behoben werden, damit neue Bestellungen zuverlässig verarbeitet werden.

Ist eine vorhandene Bestellung ein Beweis, dass alles funktioniert?

Nein. Bestellung, Zahlung, Flow-Ausführung und E-Mail-Versand sind getrennte Verarbeitungsschritte. Eine Bestellung kann korrekt gespeichert sein, obwohl der nachgelagerte Mailversand scheitert.

Müssen Message Queue und Scheduled Tasks beide laufen?

Für einen stabilen Shopbetrieb sollten beide Prozesse korrekt eingerichtet sein. Scheduled Tasks stoßen wiederkehrende Aufgaben an, während die Message Queue asynchrone Nachrichten verarbeitet.

Verwandte Shopware-Anleitungen

Bestellmails werden weiterhin nicht versendet?

Ich prüfe Mailer, Flow Builder, Message Queue, Scheduled Tasks, Zahlungsarten und Serverkonfiguration direkt im bestehenden Shopware-Shop.

Technische Prüfung anfragen
Stand: Juli 2026 · Hinweise gelten für selbst gehostete Shopware-6-Installationen. Verfügbare Befehle und Bezeichnungen können je nach Shopware-Version und Hosting abweichen.