Direkt zum Hauptinhalt

Einrichtung

1. Composer Paket

Zuerst müssen die Requirements installiert werden:

composer require vitrus/symfony-office-graph-mailer

Aufgrund von Inkompatibilitäten mit dem Shopware Core kann wegen veralteten Dependencies zum Zeitpunkt der Erstellung des Beitrags (SW 6.7.5.0) nicht auf das offizielle Symfony Paket zurückgegriffen werden. Deshalb setzen wir ein Thirdpartythirdparty Bundle ein.

2. Service hinterlegen:

In der Datei config/services.yaml muss jetzt der Service des Bundles eingerichtet werden:

services:
    Vitrus\SymfonyOfficeGraphMailer\Transport\GraphApiTransportFactory:
        tags: ['mailer.transport_factory']

image.png

3. Entra Konfiguration

Entra öffnen und zu den App Registrierungen Navigieren: https://entra.microsoft.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade/quickStartType~/

App erstellen

Hier "Neue Registrierung" auswählen:

image.png

Name: einen sinnvollen Namen für die Wiedererkennung wählen. (z.B. Webshop Mailer)
Unterstützte Kontotypen: Nur Konten in diesem Organisationsverzeichnis (nur "..." – einzelner Mandant)
Umleitungs-URI: leer lassen

image.png

API-Berechtigungen vergeben

Den Punkt "API-Berechtigungen" öffnen und dort eine neue Berechtigung hinzufügen.

image.png

Im Fenster dann "Microsoft Graph" auswählen, dann "Anwendungsberechtigungen" und dann nach "Mail.Send" suchen und die Berechtigung hinzufügen.

image.png

image.png

image.png

Danach die Administratorzustimmung für diese Berechtigung aktivieren.
image.png

Clientschlüssel erstellen

Für die Authentifizierung ist nun noch ein geheimer Schlüssel notwendig.
Dafür einen neuen Schlüssel über den Menüpunkt "Zertifikate & Geheimnisse" erstellen.






image.png

4. Shopware Konfiguration

Env Konfiguration

Im File .env.local oder .env (je nach Setup) folgenden Punkt eintragen und mit den Infos aus der Entra Konfiguration erweitern:

MAILER_DSN=microsoft-graph-api://{CLIENT_ID}:{CLIENT_SECRET}@{TENANT}

Dabei sind folgende Daten aus Entra zu entnehmen:

CLIENT_ID: Hier aus der Übersicht den Wert von "Anwendungs-ID (Client)" verwenden:
image.png

CLIENT_SECRET: Das Client Secret kann dem erstellten Key entnommen werden:
image.png

TENANT: Hier aus der Übersicht den Wert von "Verzeichnis-ID (Mandant)" verwenden:
image.png


Shopware Konfiguration

In den Shopware Einstellungen müssen die Einstellungen des Mailers angepasst werden.
Die Einstellung muss auf "Umgebungs-Konfiguration benutzen" gestellt sein.

image.png

image.png

Danach sollte alles korrekt funktionieren.

Achtung: Im Stage Modus von Shopware wird auch dann keine Mail versandt, wenn der Mailer aktiviert ist.
In dem Fall muss zum Testen der Stage Modus deaktiviert werden.