Zum Inhalt springen

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.

  1. 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>'
  2. Helm-Werte der Instanz setzen und deployen:

    smtpEnabled: true
    smtpEnabledV2: true
    smtpHost: smtp.office365.com
    smtpPort: 587
    smtpTls: true
    smtpUser: mailversand@beispiel.ch
    smtpAuthMethod: oauth2
    smtpOauthExistingSecret: smtp-oauth
    smtpNoReplyAddress: noreply@beispiel.ch
  3. Im Log des Worker-Pods die Zeile SMTP login OK prüfen. Bei SMTP login failed folgt 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.

Vor Ablauf des Secrets einen neuen Wert in smtp-oauth eintragen und den Worker neu starten. Der Worker liest das Secret nur beim Start.