Hi zusammen,
ich bin ziemlich neu im Thema Shopware. Wir unterstützen einen Neukunden bei der Migration von Shopware weg von einem Hoster der kurz vor der Insolvenz steht.
Ich habe Shopware soweit aufgesetzt und das Altsystem erfolgreich auf den neuen Server migriert. Soweit läuft alles, bis auf das Versenden von Emails.
Mails können über bin/console mailer:test verschickt werden. Auch über swaks gehen die Mails wie erwartet raus. Nur über das Backend nicht. Ich habe soweit alle Threads zu dem Thema durch, komme aber nicht weiter. In den Stammdaten steht dieselbe Email-Adresse wie in den SMTP-Einstellungen.
Auch ein Umstellen auf “Umgebungs-Konfiguration benutzen” und das Setzen von MAILER_DSN oder MAILER_URL bringt keine Verbesserung.
Interessanterweise, wenn ich einen tcpdump auf der Konsole auf Port 465 mitlaufen lassen, passiert beim Auslösen aus dem Backend gar nichts. Über bin/console mailer:test bzw. swaks schon. Klingt für mich nach einem Bug in Shopware, bin mir aber nicht sicher.
Hier ist Shopware 6.6.10.6 im Einsatz, auf einem Debian 13 mit Apache, PHP8.4 und MariaDB.
Kurz zum Altsystem: Das läuft bei einem Hoster, aber hier passt gar nichts. z.B. lässt sich das memory_limit von PHP nicht über 128MB erhöhen. Auch hier läuft Version 6.6.10.6. Der Sohn, der das System bisher betreut hat, hat mit der Familie gebrochen und alle Datenbanken gelöscht, die ich aus einem Backup wiederherstellen konnte und jetzt auf einen unserer Systeme umgezogen habe. Ausgehende Mails haben dort aber interessanterweise auch nicht funktioniert.
Hat jemand eine Idee, wie ich hier weiterkomme?
Viele Grüße,
BJ
Ist der Admin-Worker deaktiviert und die Cron Jobs korrekt eingerichtet? Wird die Message Queue (Frosh Tools) abgearbeitet? Was sagen die Log-Dateien?
Wie gesagt, ich bin neu in dem ganzen Thema und habe die Doku noch nicht durch.
Cron-Jobs muss ich mir nochmal anschauen, Admin-Worker sagt mir ehrlicherweise gar nichts.
Zu den Logs:
- Apache Error Log ist leer bzw. unauffällig
- Prod log unter {webroot}/var/log/ auch
- PHP log schmeißt auch nichts dergleichen raus
Zum Thema Message Queue:
Anhand des folgenden Screenshots würde ich sagen, nein
@bjinthahouse Ich schätze du hast einen Standardtemplate versendet, richtig? Wo wir das ganze gehostet?
Da die E-Mails über die Konsole rausgehen, vermute ich stark das angesprochene Problem mit der Message Queue.
Deaktiviere mal den Admin Worker und richte die Cron-Jobs korrekt ein:
Danach ggf. die Warteschlange über die Frosh Tools zurücksetzen und ein E-Mail-Template zum Test versenden. Optional auch mal das Plugin „Mail Archive“ installieren, dann hast du eine zusätzliche Kontrolle.
Schalte mal auf PHP 8.3 testweise zurück.
Ich habe nun den Admin-Worker in der shopware.yaml deaktiviert und die beiden Befehle
bin/console messenger:consume async low_priority --time-limit=60
bin/console scheduled-task:run --time-limit=60
manuell ausgeführt. Jetzt sieht der System-Status schon besser aus:
Jetzt mach ich mich noch an die cron-Jobs. Ist egal in welcher Reihenfolge ich die Jobs ausführen lasse und gibt es einen Richtwert wann sie ausgeführt werden sollen?
Ich habe das Template “Bestellbestätigung” genommen und von dort eine Testmail an mich geschickt.
Gehostet wird das Ganze (jetzt) bei meiner Firma im Rechnenzentrum auf einer dedizierten LinuxVM.