Secure Mail Gateway
Auf dieser Seite
Ab Relution 26.4.0 ist der Secure Mail Gateway Standalone-Dienst eine Pflichtkomponente, wenn das SMG-Feature genutzt wird. Dieser Artikel beschreibt die Einrichtung für On-Premise-Installationen.
Zur Konfiguration des Secure Mail Gateway in Relution: Secure Mail Gateway →
Migration – Was ist zu tun?
| Installation | Handlungsbedarf |
|---|---|
| Relution Cloud – Shared Hosting | Kein Handlungsbedarf. Relution übernimmt die Migration des SMG-Dienstes. |
| Relution Cloud – Dedicated Server (Bestandskunden) | Relution wird den SMG-Dienst für Sie hosten. Wir melden uns bei Ihnen, um die Migration zu koordinieren. |
| Relution Cloud – Dedicated Server (Neukunden) | Der SMG-Dienst muss eigenständig als On-Premise-Komponente betrieben werden. Folgen Sie der Einrichtungsanleitung weiter unten in diesem Artikel. |
| On-Premise | Der vollständige Einrichtungsablauf ist weiter unten in diesem Artikel beschrieben. |
Feature-Toggle für On-Premise-Installationen (26.3)
In Relution 26.3 können On-Premise-Installationen den neuen Modus bereits vorab aktivieren. Ergänzen Sie dazu den Feature-Toggle SMG_STANDALONE in der application.yml des Relution Servers:
relution:
featuretoggle:
enabledPreviewFeatures:
- SMG_STANDALONE
Mit Version 26.4.0 entfällt der Toggle – der Standalone-Dienst ist dann ohne weitere Konfiguration aktiv.
Solange der Toggle aktiv ist, wird der neue Standalone-Dienst verwendet. Wird er entfernt, kehrt Relution automatisch zum bisherigen Verhalten zurück. Das macht Relution 26.3 geeignet, um den neuen Dienst vorab in der eigenen Umgebung zu testen, bevor das Update auf 26.4.0 den Wechsel verbindlich macht.
Einrichtung
1. Dynamische Rolle erstellen
Laden Sie die vorgefertigte Rollenvorlage herunter und importieren Sie diese in der globalen Organisation unter Einstellungen > Benutzerverwaltung > Berechtigungen:
SMG-Rollenvorlage herunterladen →
Alternativ können Sie die Rolle manuell anlegen:
- Navigieren Sie in der globalen Organisation zu Einstellungen > Benutzerverwaltung > Berechtigungen
- Fügen Sie eine neue Dynamische Rolle hinzu
- Aktivieren Sie die Berechtigung Secure Mail Gateway (service account)
- Speichern Sie die Rolle
2. Technischen Benutzer und API-Zugriffsschlüssel anlegen
- Erstellen Sie in der globalen Organisation einen neuen Benutzer und weisen Sie ihm die oben erstellte Dynamische Rolle zu
- Navigieren Sie zur Detailseite des Benutzers und erstellen Sie einen neuen API-Zugriffsschlüssel
- Kopieren Sie den generierten Schlüssel – er wird nur einmal angezeigt
3. Dienst bereitstellen
Fügen Sie den folgenden Dienst zu Ihrer bestehenden compose.yml hinzu. Dies ist nur erforderlich, wenn das Secure Mail Gateway verwendet wird.
Auch wenn auf Docker Hub neuere Versions-Tags erscheinen, empfehlen wir dringend,
latestzu behalten. Neue Builds durchlaufen mehrere zusätzliche Quality Gates, bevor sie alslatestbereitgestellt werden – eine fest eingetragene Versionsnummer kann auf einen Build verweisen, der noch nicht für den Produktiveinsatz freigegeben ist.
smg:
image: relution/relution-smg-standalone:latest
restart: always
container_name: smg
networks:
- reverse-proxy
volumes:
- ./smg/application.yml:/opt/app/config/application.yml:ro
# - ./smg/ca-certs:/opt/app/ca-certs:ro # siehe „Vertrauenswürdiges CA-Zertifikat hinterlegen" weiter unten
# environment:
# - JAVA_TOOL_OPTIONS=... # siehe „Proxy für ausgehende Verbindungen" weiter unten
smgmuss sich wierelutionundtraefikim Netzwerkreverse-proxybefinden – sonst kann Traefik/nginx nicht zu diesem Dienst weiterleiten.
Erstellen Sie smg/application.yml neben Ihrer compose.yml:
relution:
server:
url: https://ihr-relution-server # URL Ihres Relution Servers
api-key: ihr-api-schluessel # Oben erstellter API-Zugriffsschlüssel
# honor-proxy-settings: true # siehe „Proxy für ausgehende Verbindungen" weiter unten
Starten oder starten Sie Ihre Dienste neu:
docker compose up -d
Wenn Sie zuvor
relution.smg.*-Eigenschaften in der Konfiguration Ihres Relution Servers angepasst haben, übertragen Sie diese unverändert in diese Datei – die Eigenschaftsnamen sind identisch.
Reverse-Proxy-Konfiguration
Der SMG-Dienst stellt den Endpunkt /Microsoft-Server-ActiveSync auf Port 8093 bereit. Ihr Reverse-Proxy muss alle Anfragen für diesen Pfad an den SMG-Dienst weiterleiten – die folgenden Beispiele zeigen die Konfiguration für Traefik und nginx.
Traefik
Folgen Sie der Traefik-Konfiguration → und ergänzen Sie neben dem bestehenden relution-Router einen zusätzlichen Router für den SMG-Pfad:
http:
routers:
smg:
rule: Host(`external.url`) && Path(`/Microsoft-Server-ActiveSync`)
service: smg
services:
smg:
loadBalancer:
servers:
- url: "http://smg:8093"
nginx Alternative zu Traefik
Fügen Sie folgenden Location-Block zu Ihrer nginx-Konfiguration hinzu:
location ~ /Microsoft-Server-ActiveSync {
proxy_read_timeout 2100;
proxy_pass http://smg:8093;
}
Bei einer Docker-Installation bezeichnet
smgden Docker-Dienstnamen und ist innerhalb des Docker-Netzwerks erreichbar. Bei einer nativen Linux-Installation ersetzen Siesmg:8093durch127.0.0.1:8093.
Vertrauenswürdiges CA-Zertifikat hinterlegen
Wenn Exchange ein Zertifikat präsentiert, das von einer internen oder selbstsignierten CA signiert wurde, mounten Sie ein Verzeichnis mit PEM-kodierten Zertifikatsdateien genau unter /opt/app/ca-certs in den Container:
volumes:
- ./smg/application.yml:/opt/app/config/application.yml:ro
- ./smg/ca-certs:/opt/app/ca-certs:ro
Diese Zertifikate werden bei der Kommunikation mit Ihrem Exchange- und Relution-Server verwendet – eine Konfigurationseigenschaft ist dafür nicht erforderlich. Ist nichts gemountet, hat das Feature keine Auswirkung und ausgehendes TLS verhält sich wie zuvor. Zum Hinzufügen, Entfernen oder Ändern eines Zertifikats muss der Container neu gestartet werden; das Verzeichnis wird nur einmal beim Start gelesen.
Proxy für ausgehende Verbindungen
Anfragen an Exchange berücksichtigen die Proxy-Systemeigenschaften der JVM. Setzen Sie diese über JAVA_TOOL_OPTIONS:
environment:
- JAVA_TOOL_OPTIONS=-Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=3128 -Dhttps.proxyHost=proxy.example.com -Dhttps.proxyPort=3128
Mit -Dhttp.nonProxyHosts (eine mit | getrennte Liste von Host-Mustern, *-Platzhalter werden unterstützt) können Sie bestimmte Hosts vom Proxy ausschließen – typischerweise Exchange selbst, wenn dieser direkt erreichbar ist, ohne über den Unternehmens-Proxy zu gehen.
Standardmäßig werden Anfragen an Ihren Relution Server nicht über den Proxy geleitet – er ist normalerweise direkt erreichbar. Wenn Ihre Umgebung Relution über denselben Proxy wie Exchange erreicht, setzen Sie honor-proxy-settings: true in smg/application.yml:
relution:
server:
url: https://ihr-relution-server
api-key: ihr-api-schluessel
honor-proxy-settings: true # Standard false; nur erforderlich, wenn Relution ebenfalls hinter dem Proxy liegt
Changelog
Aktuell unter latest verfügbare Version: 26.0.2 (Stand 01.07.2026)
| Version | Änderung |
|---|---|
| 26.0.3 | Unterstützung für selbstsignierte Zertifikate und Proxy-Einstellungen |
| 26.0.2 | Fehlerhafte Behandlung von 404-Antworten behoben |
| 26.0.1 | Health-Endpunkt freigegeben |
| 26.0.0 | Erstveröffentlichung – Code aus Relution ausgelagert |