--- type: Reference status: ACTIVE owner: DevOps Engineer --- # Dokumentation: Zentrales Mail-Relay (SSoT) auf Zora ## 1. Identität & Rollenverteilung Das System nutzt das **Single Source of Truth (SSoT)** Prinzip für den gesamten E-Mail-Verkehr. Anstatt dass jeder Dienst (Gitea, Keycloak, Spring Boot) eigene Zugangsdaten für World4You speichert, übernimmt **Zora** die zentrale Verwaltung. | Parameter | Wert | Funktion | |:-------------------|:-------------------------|:-------------------------------------------------| | **Zentraler Host** | `zora.mo-code.at` | Primärer Mail-Transfer-Agent (MTA). | | **Gateway IP** | `10.0.0.20` | Proxmox-Node-IP, interne Erreichbarkeit für alle VMs/Container. | | **Relay Host** | `smtp.world4you.com:587` | Externer Provider für den tatsächlichen Versand. | | **SSoT Account** | `zora@mo-code.at` | Die verifizierte Absender-Identität. | --- ## 2. Technische Umsetzung (Der "Postbote") Wir haben Postfix als **Satellitensystem** konfiguriert. Er nimmt Briefe im internen Netzwerk entgegen und bringt sie sicher zum Provider. * **Sicherheit:** Postfix lauscht auf Port 25, erlaubt den Versand aber **nur** für Anfragen aus dem internen Netz `10.0.0.0/8` (Proxmox vmbr0 / Docker). * **Authentifizierung:** Nur Zora kennt das Passwort für den World4You-Account (gespeichert in `sasl_passwd`). * **Umschreibung (Canonical Mapping):** Postfix korrigiert automatisch Absender wie `root@zora` oder `grandmo@zora` zu `zora@mo-code.at`, damit der Provider die Mails nicht ablehnt. * **Verschlüsselung:** Die Verbindung zu World4You ist via TLS (STARTTLS) abgesichert. --- ## 3. Vorstellung: Der Benachrichtigungs-Weg Unsere Vision für den "Empire-Workflow" sieht wie folgt aus: ### Phase A: Das Ereignis (Trigger) Ein Dienst stellt einen Zustand fest, der gemeldet werden muss. * **Gitea:** Ein neuer Pull Request wurde erstellt. * **Prometheus/Alertmanager:** Die Festplatte von Zora ist zu 90% voll. * **Spring Boot:** Ein User hat sein Passwort für die "Meldestelle" vergessen. ### Phase B: Der interne Transport Der Dienst verbindet sich ohne Passwort (da er sich im vertrauenswürdigen Netz befindet) mit: `SMTP_HOST: 10.0.0.20` | `SMTP_PORT: 25` Dies minimiert das Risiko: Keine Passwörter in `.env`-Dateien von Applikationen. ### Phase C: Die externe Zustellung Zora nimmt die Mail an, prüft sie, fügt ggf. die korrekte Absenderadresse hinzu und reicht sie an World4You weiter. Von dort landet sie in deinem Gmail-Postfach. --- ## 4. Status Quo (Erfolgskontrolle) Dass dieser Weg bereits perfekt funktioniert, wurde durch die Gitea Test-Email am **10.02.2026 um 00:56 Uhr** bewiesen. Die Mail kam sauber signiert und verschlüsselt an.