Listmonk mit Forward Email für sichere Newsletter-Zustellung
Überblick
Diese Anleitung bietet Entwicklern Schritt-für-Schritt-Anweisungen zur Einrichtung von Listmonk, einem leistungsstarken Open-Source-Newsletter- und Mailinglisten-Manager, um Forward Email als SMTP-Anbieter zu verwenden. Diese Kombination ermöglicht es Ihnen, Ihre Kampagnen effektiv zu verwalten und gleichzeitig eine sichere, private und zuverlässige E-Mail-Zustellung zu gewährleisten.
- Listmonk: Verwaltet Abonnenten, Listenorganisation, Kampagnenerstellung und Leistungsüberwachung.
- Forward Email: Fungiert als sicherer SMTP-Server und übernimmt das tatsächliche Versenden von E-Mails mit integrierten Sicherheitsfunktionen wie SPF, DKIM, DMARC und TLS-Verschlüsselung.
Durch die Integration dieser beiden behalten Sie die volle Kontrolle über Ihre Daten und Infrastruktur, während Sie das robuste Zustellsystem von Forward Email nutzen.
Warum Listmonk und Forward Email
- Open Source: Sowohl Listmonk als auch die Prinzipien hinter Forward Email legen Wert auf Transparenz und Kontrolle. Sie hosten Listmonk selbst und besitzen Ihre Daten.
- Datenschutzorientiert: Forward Email ist mit Fokus auf Datenschutz entwickelt, minimiert die Datenspeicherung und konzentriert sich auf sichere Übertragung.
- Kosteneffizient: Listmonk ist kostenlos, und Forward Email bietet großzügige kostenlose Tarife sowie erschwingliche kostenpflichtige Pläne, was diese Lösung budgetfreundlich macht.
- Skalierbarkeit: Listmonk ist sehr leistungsfähig, und die Infrastruktur von Forward Email ist für zuverlässige Zustellung in großem Maßstab ausgelegt.
- Entwicklerfreundlich: Listmonk bietet eine robuste API, und Forward Email stellt eine einfache SMTP-Integration sowie Webhooks bereit.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Einen Virtual Private Server (VPS) mit einer aktuellen Linux-Distribution (Ubuntu 20.04+ empfohlen) mit mindestens 1 CPU und 1 GB RAM (2 GB empfohlen).
- Benötigen Sie einen Anbieter? Schauen Sie sich die empfohlene VPS-Liste an.
- Einen Domainnamen, den Sie kontrollieren (DNS-Zugang erforderlich).
- Ein aktives Konto bei Forward Email.
- Root- oder
sudo-Zugriff auf Ihren VPS. - Grundkenntnisse im Umgang mit der Linux-Kommandozeile.
Installation
Diese Schritte führen Sie durch die Installation von Listmonk mit Docker und Docker Compose auf Ihrem VPS.
1. Aktualisieren Sie Ihren Server
Stellen Sie sicher, dass die Paketliste und installierte Pakete Ihres Systems auf dem neuesten Stand sind.
sudo apt update && sudo apt upgrade -y
2. Abhängigkeiten installieren
Installieren Sie Docker, Docker Compose und UFW (Uncomplicated Firewall).
sudo apt install -y docker.io docker-compose ufw
3. Listmonk-Konfiguration herunterladen
Erstellen Sie ein Verzeichnis für Listmonk und laden Sie die offizielle docker-compose.yml-Datei herunter.
mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml
Diese Datei definiert den Listmonk-Anwendungscontainer und den erforderlichen PostgreSQL-Datenbankcontainer.
4. Firewall konfigurieren (UFW)
Erlaube wesentlichen Datenverkehr (SSH, HTTP, HTTPS) durch die Firewall. Wenn dein SSH auf einem nicht standardmäßigen Port läuft, passe dies entsprechend an.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Bestätige das Aktivieren der Firewall, wenn du dazu aufgefordert wirst.
5. HTTPS-Zugang konfigurieren
Listmonk über HTTPS laufen zu lassen ist für die Sicherheit entscheidend. Du hast zwei Hauptoptionen:
Option A: Verwendung des Cloudflare-Proxys (Empfohlen für Einfachheit)
Wenn die DNS deines Domains von Cloudflare verwaltet wird, kannst du deren Proxy-Funktion für einfaches HTTPS nutzen.
- DNS zeigen lassen: Erstelle einen
A-Eintrag in Cloudflare für deine Listmonk-Subdomain (z. B.listmonk.deinedomain.com), der auf die IP-Adresse deines VPS zeigt. Stelle sicher, dass der Proxy-Status auf Proxied (orange Wolke) gesetzt ist. - Docker Compose anpassen: Bearbeite die heruntergeladene
docker-compose.ymlDatei:Dadurch ist Listmonk intern auf Port 80 erreichbar, den Cloudflare dann proxyen und mit HTTPS absichern kann.sed -i 's/9000:9000/80:9000/' docker-compose.yml
Option B: Verwendung eines Reverse Proxys (Nginx, Caddy, etc.)
Alternativ kannst du auf deinem VPS einen Reverse Proxy wie Nginx oder Caddy einrichten, der die HTTPS-Terminierung übernimmt und Anfragen an Listmonk (standardmäßig auf Port 9000) weiterleitet.
- Behalte den Standard
ports: - "127.0.0.1:9000:9000"in derdocker-compose.ymlbei, damit Listmonk nur lokal erreichbar ist. - Konfiguriere deinen gewählten Reverse Proxy so, dass er auf den Ports 80 und 443 lauscht, SSL-Zertifikate (z. B. via Let's Encrypt) verwaltet und den Traffic an
http://127.0.0.1:9000weiterleitet. - Eine detaillierte Anleitung zur Einrichtung eines Reverse Proxys liegt außerhalb dieses Guides, aber viele Tutorials sind online verfügbar.
6. Listmonk starten
Wechsle zurück in dein listmonk Verzeichnis (falls du dich nicht bereits dort befindest) und starte die Container im Hintergrund.
cd ~/listmonk # Oder das Verzeichnis, in dem du docker-compose.yml gespeichert hast
docker compose up -d
Docker lädt die notwendigen Images herunter und startet die Listmonk-Anwendung sowie die Datenbank-Container. Das kann beim ersten Mal ein oder zwei Minuten dauern.
✅ Listmonk aufrufen: Du solltest nun über die konfigurierte Domain (z. B. https://listmonk.deinedomain.com) auf die Listmonk-Weboberfläche zugreifen können.
7. Forward Email SMTP in Listmonk konfigurieren
Konfiguriere als Nächstes Listmonk so, dass E-Mails über dein Forward Email-Konto versendet werden.
- SMTP in Forward Email aktivieren: Stelle sicher, dass du in deinem Forward Email-Konto SMTP-Zugangsdaten generiert hast. Folge der Forward Email Anleitung zum Versenden von E-Mails mit einer benutzerdefinierten Domain via SMTP, falls du das noch nicht getan hast.
- Listmonk konfigurieren: Melde dich im Listmonk-Admin-Panel an.
-
Navigiere zu Einstellungen -> SMTP.
-
Listmonk unterstützt Forward Email nativ. Wähle ForwardEmail aus der Anbieterliste oder gib die folgenden Daten manuell ein:
Einstellung Wert Host smtp.forwardemail.netPort 465Auth-Protokoll LOGINBenutzername Dein Forward Email SMTP-Benutzername Passwort Dein Forward Email SMTP-Passwort TLS SSL/TLSVon E-Mail Deine gewünschte Von-Adresse (z. B.newsletter@deinedomain.com). Stelle sicher, dass diese Domain in Forward Email konfiguriert ist.
-
-
Wichtig: Verwenden Sie immer Port
465mitSSL/TLSfür sichere Verbindungen mit Forward Email (empfohlen). Port587mit STARTTLS wird ebenfalls unterstützt, aber SSL/TLS wird bevorzugt.- Klicken Sie auf Speichern.
- Test-E-Mail senden: Verwenden Sie die Schaltfläche "Test-E-Mail senden" auf der SMTP-Einstellungsseite. Geben Sie eine Empfängeradresse ein, auf die Sie zugreifen können, und klicken Sie auf Senden. Überprüfen Sie, ob die E-Mail im Posteingang des Empfängers ankommt.
8. Bounce-Verarbeitung konfigurieren
Die Bounce-Verarbeitung ermöglicht es Listmonk, E-Mails, die nicht zugestellt werden konnten (z. B. aufgrund ungültiger Adressen), automatisch zu verarbeiten. Forward Email stellt einen Webhook bereit, um Listmonk über Bounces zu informieren.
Forward Email Einrichtung
- Melden Sie sich bei Ihrem Forward Email Dashboard an.
- Navigieren Sie zu Domains, wählen Sie die Domain aus, die Sie zum Senden verwenden, und gehen Sie zur Einstellungsseite.
- Scrollen Sie zum Abschnitt Bounce Webhook URL.
- Geben Sie die folgende URL ein, wobei Sie
<your_listmonk_domain>durch die tatsächliche Domain oder Subdomain ersetzen, unter der Ihre Listmonk-Instanz erreichbar ist:
Beispiel:https://<your_listmonk_domain>/webhooks/service/forwardemailhttps://listmonk.yourdomain.com/webhooks/service/forwardemail - Scrollen Sie weiter nach unten zum Abschnitt Webhook Signature Payload Verification Key.
- Kopieren Sie den generierten Verifizierungsschlüssel. Diesen benötigen Sie in Listmonk.
- Speichern Sie die Änderungen in den Domain-Einstellungen von Forward Email.
Listmonk Einrichtung
- Navigieren Sie im Listmonk-Admin-Panel zu Einstellungen -> Bounces.
- Aktivieren Sie Bounce-Verarbeitung aktivieren.
- Aktivieren Sie Bounce-Webhooks aktivieren.
- Scrollen Sie zum Abschnitt Webhook-Anbieter.
- Aktivieren Sie Forward Email.
- Fügen Sie den Webhook Signature Payload Verification Key ein, den Sie aus dem Forward Email Dashboard kopiert haben, in das Feld Forward Email Key ein.
- Klicken Sie unten auf der Seite auf Speichern.
- Die Bounce-Verarbeitung ist nun konfiguriert! Wenn Forward Email einen Bounce für eine von Listmonk gesendete E-Mail erkennt, benachrichtigt es Ihre Listmonk-Instanz über den Webhook, und Listmonk markiert den Abonnenten entsprechend.
- Führen Sie die untenstehenden Schritte unter Testing aus, um sicherzustellen, dass alles funktioniert.
Testen
Hier ist eine kurze Übersicht der Kernfunktionen von Listmonk:
Mailingliste erstellen
- Gehen Sie in der Seitenleiste zu Listen.
- Klicken Sie auf Neue Liste.
- Füllen Sie die Details aus (Name, Typ: Öffentlich/Privat, Beschreibung, Tags) und Speichern.
Abonnenten hinzufügen
- Navigieren Sie zum Abschnitt Abonnenten.
- Sie können Abonnenten hinzufügen:
- Manuell: Klicken Sie auf Neuer Abonnent.
- Importieren: Klicken Sie auf Abonnenten importieren, um eine CSV-Datei hochzuladen.
- API: Verwenden Sie die Listmonk-API für programmatische Ergänzungen.
- Weisen Sie Abonnenten während der Erstellung oder des Imports einer oder mehreren Listen zu.
- Beste Praxis: Verwenden Sie einen Double-Opt-in-Prozess. Konfigurieren Sie dies unter Einstellungen -> Opt-in & Abonnements.
Kampagne erstellen und senden
- Gehen Sie zu Kampagnen -> Neue Kampagne.
- Füllen Sie die Kampagnendetails aus (Name, Betreff, Absender-E-Mail, Liste(n), an die gesendet werden soll).
- Wählen Sie Ihren Inhaltstyp (Rich Text/HTML, Nur Text, Rohes HTML).
- Verfassen Sie Ihren E-Mail-Inhalt. Sie können Template-Variablen wie
{{ .Subscriber.Email }}oder{{ .Subscriber.FirstName }}verwenden. - Senden Sie immer zuerst eine Test-E-Mail! Verwenden Sie die Option "Test senden", um die E-Mail in Ihrem Posteingang zu prüfen.
- Wenn Sie zufrieden sind, klicken Sie auf Kampagne starten, um sofort zu senden oder planen Sie sie für später.
Verifikation
- SMTP-Zustellung: Senden Sie regelmäßig Test-E-Mails über die SMTP-Einstellungsseite von Listmonk und Testkampagnen, um sicherzustellen, dass E-Mails korrekt zugestellt werden.
- Bounce-Verarbeitung: Senden Sie eine Testkampagne an eine bekannte ungültige E-Mail-Adresse (z. B.
bounce-test@yourdomain.com, falls Sie keine echte zur Hand haben, wobei die Ergebnisse variieren können). Prüfen Sie nach kurzer Zeit die Kampagnenstatistiken in Listmonk, um zu sehen, ob der Bounce registriert wurde. - E-Mail-Header: Verwenden Sie Tools wie Mail-Tester oder prüfen Sie E-Mail-Header manuell, um zu verifizieren, dass SPF, DKIM und DMARC bestehen, was auf eine korrekte Einrichtung über Forward Email hinweist.
- Forward Email Logs: Prüfen Sie die Protokolle Ihres Forward Email Dashboards, wenn Sie vermuten, dass Zustellprobleme vom SMTP-Server ausgehen.
Entwicklerhinweise
- Templating: Listmonk verwendet die Templating-Engine von Go. Erkunden Sie die Dokumentation für erweiterte Personalisierung:
{{ .Subscriber.Attribs.your_custom_field }}. - API: Listmonk bietet eine umfassende REST-API zur Verwaltung von Listen, Abonnenten, Kampagnen, Vorlagen und mehr. Den Link zur API-Dokumentation finden Sie im Footer Ihrer Listmonk-Instanz.
- Benutzerdefinierte Felder: Definieren Sie benutzerdefinierte Abonnentenfelder unter Einstellungen -> Abonnentenfelder, um zusätzliche Daten zu speichern.
- Webhooks: Neben Bounces kann Listmonk Webhooks für andere Ereignisse (z. B. Abonnements) senden, was die Integration mit anderen Systemen ermöglicht.
Fazit
Durch die Integration der selbstgehosteten Leistung von Listmonk mit der sicheren, datenschutzfreundlichen Zustellung von Forward Email schaffen Sie eine robuste und ethische E-Mail-Marketing-Plattform. Sie behalten die volle Kontrolle über Ihre Zielgruppendaten und profitieren gleichzeitig von hoher Zustellbarkeit und automatisierten Sicherheitsfunktionen.
Dieses Setup bietet eine skalierbare, kosteneffiziente und entwicklerfreundliche Alternative zu proprietären E-Mail-Diensten und entspricht perfekt der Philosophie von Open-Source-Software und Datenschutz.
Viel Erfolg beim Versenden! 🚀