Verständliche Anleitung für SMTP, Absender, DNS und die saubere Mail-Integration in Self-Hosted-Dienste wie Authentik, Uptime Kuma oder Nextcloud.
Viele Self-Hosted-Dienste funktionieren grundsätzlich auch ohne Mail-Versand. Wirklich angenehm und vollständig werden sie aber oft erst dann, wenn E-Mails zuverlässig rausgehen. Genau dann funktionieren Dinge wie Passwort-Reset, Einladungen, Warnungen, Statusmeldungen oder Benachrichtigungen sauber.
In dieser Anleitung richten wir den Mail-Versand für Self-Hosted-Dienste verständlich ein. Wir schauen uns an, welche SMTP-Daten du brauchst, welche Rolle DNS und Absender spielen, wie du häufige Fehler vermeidest und wie du Dienste wie Authentik, Uptime Kuma, Paperless-ngx, Nextcloud oder Authelia strukturiert an ein Mail-System anbindest.
1. Warum SMTP fast immer dazugehört
Ein korrekt konfigurierter Mail-Versand ist für viele Dienste nicht nur Komfort, sondern Teil eines brauchbaren Betriebs.
Typische Beispiele:
- Passwort zurücksetzen
- Benutzer einladen
- Alarmierungen senden
- Verifizierungslinks verschicken
- Systemmeldungen und Reports zustellen
Wenn E-Mails fehlen, merkt man das oft erst im falschen Moment, etwa wenn ein Login scheitert oder eine wichtige Warnung nie ankommt.
2. Die Grundidee: Deine Apps senden nicht direkt selbst
Die meisten Self-Hosted-Apps senden Mails nicht direkt als eigener Mailserver ins Internet. Stattdessen nutzen sie einen vorhandenen SMTP-Server. Das ist fast immer die richtige Wahl.
Du brauchst also in der Regel:
- SMTP-Host
- SMTP-Port
- Benutzername
- Passwort
- Verschlüsselungsart wie STARTTLS oder SSL/TLS
- eine passende Absenderadresse
Das kann ein eigener Mailserver sein, aber oft ist ein externer Anbieter oder ein bestehender Geschäftsmail-Dienst die deutlich stressfreiere Lösung.
3. Welche SMTP-Daten du konkret brauchst
Viele Anwendungen fragen dieselben Kernwerte ab. Typischerweise sehen sie so aus:
SMTP_HOST=smtp.example.com SMTP_PORT=587 SMTP_USERNAME=mailer@example.com SMTP_PASSWORD=ein-langes-passwort SMTP_FROM=noreply@example.com SMTP_FROM_NAME=AonTech Dienste SMTP_TLS=true
Wichtig ist dabei:
- Port
587ist oft für STARTTLS üblich - Port
465wird oft für direktes SSL/TLS verwendet - Port
25ist für App-Versand meistens nicht die beste Wahl
Entscheidend ist aber immer, was dein Anbieter oder dein eigener SMTP-Server vorgibt.
4. Absenderadresse und Domain sauber wählen
Sehr oft wird Mail zwar technisch versendet, landet aber im Spam oder wirkt unprofessionell. Ein Grund dafür ist eine schlechte Absenderwahl.
Sinnvolle Beispiele sind:
noreply@example.comfür allgemeine Systemmailsalerts@example.comfür Monitoring und Warnungenauth@example.comfür Login- und Account-bezogene Mails
Weniger sinnvoll ist oft ein bunt gemischtes Sammelsurium aus privaten Absendern, Fantasie-Domains oder schlecht dokumentierten Konten.
Wenn mehrere Dienste senden, lohnt sich eine kleine Absenderstrategie. Das macht die Herkunft von Mails später viel klarer.
5. DNS-Themen nicht vergessen: SPF, DKIM und DMARC
Wenn du mit eigener Domain sauber senden willst, kommst du an SPF, DKIM und häufig auch DMARC kaum vorbei. Diese DNS-Einträge helfen Empfänger-Systemen zu beurteilen, ob eine Mail wirklich von deiner Domain stammen darf.
Vereinfacht gesagt:
- SPF sagt, welche Server für deine Domain senden dürfen
- DKIM signiert Mails kryptografisch
- DMARC definiert, wie Empfänger mit fragwürdigen Mails umgehen sollen
Wenn du einen externen Mail-Dienst verwendest, liefert dieser meist die nötigen DNS-Einträge. Trage sie sauber ein, sonst ist die Zustellbarkeit oft unnötig schlecht.
6. SMTP-Zugangsdaten sauber ablegen
Mail-Zugangsdaten gehören nicht offen in Compose-Dateien. Nutze eine .env-Datei oder eine andere saubere Secret-Ablage.
Beispiel:
SMTP_HOST=smtp.example.com SMTP_PORT=587 SMTP_USERNAME=mailer@example.com SMTP_PASSWORD=ein-langes-zufaelliges-passwort SMTP_FROM=noreply@example.com
Wichtig: Diese Datei nicht ins Git-Repository legen und auch nicht versehentlich in Support-Dumps oder Screenshots zeigen.
7. Ein allgemeiner Test vor der App-Konfiguration
Bevor du fünf einzelne Apps konfigurierst, ist es sinnvoll, die SMTP-Daten zuerst an einer Stelle sauber zu prüfen. So weisst du, ob das Problem am Mailserver oder an der jeweiligen Anwendung liegt.
Je nach Tool oder Container kannst du dafür eine Testmail senden oder die Verbindung prüfen. Auch Logs der Anwendung oder des SMTP-Anbieters sind hier sehr hilfreich.
Typische Prüfungen sind:
- stimmt Host und Port?
- ist TLS korrekt gewählt?
- funktionieren Benutzername und Passwort?
- passt die Absenderadresse zur Domain?
8. SMTP in Docker- und Compose-Setups einbinden
Viele Self-Hosted-Dienste lesen Mail-Einstellungen direkt aus Umgebungsvariablen. Genau deshalb ist Compose ideal, um SMTP zentral und nachvollziehbar einzubinden.
Ein generisches Muster kann so aussehen:
services:
app:
image: ghcr.io/example/app:latest
env_file:
- .env
environment:
SMTP_HOST: ${SMTP_HOST}
SMTP_PORT: ${SMTP_PORT}
SMTP_USERNAME: ${SMTP_USERNAME}
SMTP_PASSWORD: ${SMTP_PASSWORD}
SMTP_FROM: ${SMTP_FROM}
Die konkreten Variablennamen hängen natürlich von der jeweiligen Anwendung ab. Das Grundprinzip bleibt aber gleich.
9. Beispiele für typische Dienste
Authentik
Hier ist SMTP wichtig für Einladungen, Benachrichtigungen und Account-bezogene Funktionen. Wenn Authentik zentral für Anmeldungen genutzt wird, sollte der Mail-Versand besonders zuverlässig sein.
Uptime Kuma
Hier geht es eher um Alarmierungen und Statusmeldungen. Sinnvoll ist oft eine eigene Absenderadresse wie alerts@example.com.
Paperless-ngx
Mail ist hier nicht nur für Benachrichtigungen relevant, sondern je nach Workflow auch für Import- oder Weiterleitungsprozesse.
Nextcloud
Passwort-Reset, Freigaben und Systemmeldungen hängen stark davon ab, dass SMTP sauber funktioniert.
Authelia
Bei Identitäts- und Sicherheitsdiensten ist Mail-Versand oft besonders kritisch, weil Benutzer sonst bei Bestätigung oder Recovery unnötig blockiert werden.
Die Details unterscheiden sich, aber die Denkweise bleibt gleich: erst saubere SMTP-Basis, dann pro App passend integrieren und testen.
10. Häufige Fehler beim Mail-Versand
- falscher Port oder falscher TLS-Modus
- falsche oder unvollständige DNS-Einträge
- Absenderadresse passt nicht zum erlaubten Sendekonto
- Passwort mit Sonderzeichen wurde falsch übernommen
- App-Container wurde nach Änderung der Variablen nicht neu gestartet
- Firewall oder ausgehender Traffic blockiert Verbindungen
Wenn Mails nicht ankommen, lohnt es sich, nicht nur die App anzuschauen, sondern auch den Mailanbieter, die DNS-Konfiguration und den Spam-Ordner mit einzubeziehen.
11. Eine kleine Struktur für mehrere Dienste
Wenn mehrere Dienste dieselbe SMTP-Infrastruktur nutzen, ist eine kleine Konvention sehr hilfreich. Zum Beispiel:
alerts@example.comfür Monitoringnoreply@example.comfür allgemeine Systemmailsauth@example.comfür Login- und Identity-Dienste
So siehst du später schneller, welcher Dienst welche Nachricht verschickt hat. Das hilft auch bei der Fehlersuche.
12. Sicherheit und Betrieb
Auch beim Mail-Versand gelten ein paar einfache Grundsätze:
- starke Passwörter oder Tokens verwenden
- Zugangsdaten nur dort hinterlegen, wo sie wirklich gebraucht werden
- regelmässig testen, ob Mails noch ankommen
- wichtige Alarmierungswege nicht nur auf Mail abstützen, wenn es wirklich kritisch ist
Gerade Monitoring oder Security-Meldungen sind im Ernstfall zu wichtig, um sie nie getestet zu haben.
13. Fazit
Ein sauber eingerichteter Mail-Versand macht Self-Hosted-Dienste deutlich vollständiger und zuverlässiger. Die eigentliche Arbeit liegt weniger in einzelnen App-Feldern, sondern in einer guten SMTP-Basis mit passenden DNS-Einträgen, klaren Absendern und sauber verwalteten Zugangsdaten.
Wenn du das einmal ordentlich aufbaust, lassen sich viele Dienste danach sehr viel einfacher anbinden und warten.
Tipp:
Starte mit einem einzigen gut dokumentierten SMTP-Konto und teste es sauber. Erst wenn die Basis stabil ist, bindest du Schritt für Schritt weitere Anwendungen an.