Mailversand mit OAuth im Betrieb konfigurieren
Von der Einrichtung in Microsoft 365 kommen Tenant-ID, Client-ID, Client-Secret, Versandpostfach und No-Reply-Adresse. OAuth funktioniert nur, wenn der Worker die E-Mails versendet (smtpEnabledV2: true). Der Delphi-Server kann kein OAuth.
Vorgehen
Abschnitt betitelt „Vorgehen“-
Kubernetes-Secret anlegen, vor dem Deployment. Fehlt es, startet der Worker nicht.
Terminal-Fenster kubectl -n <namespace> create secret generic smtp-oauth \--from-literal=tenant-id='<Directory (tenant) ID>' \--from-literal=client-id='<Application (client) ID>' \--from-literal=client-secret='<Value>' -
Helm-Werte der Instanz setzen und deployen:
smtpEnabled: truesmtpEnabledV2: truesmtpHost: smtp.office365.comsmtpPort: 587smtpTls: truesmtpUser: mailversand@beispiel.chsmtpAuthMethod: oauth2smtpOauthExistingSecret: smtp-oauthsmtpNoReplyAddress: noreply@beispiel.ch -
Im Log des Worker-Pods die Zeile
SMTP login OKprüfen. BeiSMTP login failedfolgt die Ursache in derselben Meldung.
Ohne Helm beim Worker diese Umgebungsvariablen setzen: SM_SMTP_AUTH_METHOD=oauth2, SM_SMTP_OAUTH_TENANT_ID, SM_SMTP_OAUTH_CLIENT_ID und SM_SMTP_OAUTH_CLIENT_SECRET. Ein Passwort ist nicht nötig.
Client-Secret ersetzen
Abschnitt betitelt „Client-Secret ersetzen“Vor Ablauf des Secrets einen neuen Wert in smtp-oauth eintragen und den Worker neu starten. Der Worker liest das Secret nur beim Start.