Listmonk mit E-Mail-Weiterleitung fĂŒr sicheren Newsletter-Versand

Dieses Handbuch bietet Entwicklern eine Schritt-fĂŒr-Schritt-Anleitung zum Einrichten von Listenmönch, einem leistungsstarken Open-Source-Newsletter- und Mailinglisten-Manager, mit E-Mail weiterleiten als SMTP-Anbieter. Diese Kombination ermöglicht Ihnen die effektive Verwaltung Ihrer Kampagnen und gewĂ€hrleistet gleichzeitig eine sichere, vertrauliche und zuverlĂ€ssige E-Mail-Zustellung.

  • Listmonk: Übernimmt die Abonnentenverwaltung, Listenorganisation, Kampagnenerstellung und Leistungsverfolgung.
  • E-Mail weiterleiten: Fungiert als sicherer SMTP-Server und ĂŒbernimmt den eigentlichen E-Mail-Versand 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 und nutzen gleichzeitig das robuste Zustellungssystem von Forward Email.

  • Open Source: Sowohl Listmonk als auch die Prinzipien von Forward Email legen Wert auf Transparenz und Kontrolle. Sie hosten Listmonk selbst und sind EigentĂŒmer Ihrer Daten.
  • Datenschutzorientiert: Forward Email legt grĂ¶ĂŸten Wert auf Datenschutz, minimiert die Datenspeicherung und legt den Fokus auf sichere Übertragung.
  • KostengĂŒnstig: Listmonk ist kostenlos, und Forward Email bietet großzĂŒgige kostenlose Tarife und gĂŒnstige kostenpflichtige PlĂ€ne – eine budgetfreundliche Lösung.
  • Skalierbarkeit: Listmonk ist hochleistungsfĂ€hig, und die Infrastruktur von Forward Email ist auf zuverlĂ€ssige und skalierbare Bereitstellung ausgelegt.
  • Entwicklerfreundlich: Listmonk bietet eine robuste API, und Forward Email bietet unkomplizierte SMTP-Integration und Webhooks.

Bevor Sie beginnen, stellen Sie sicher, dass Sie ĂŒber Folgendes verfĂŒgen:

  • Ein 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? Sehen Sie sich empfohlene VPS-Liste an.
  • Ein Domainname, den Sie verwalten (DNS-Zugriff erforderlich).
  • Ein aktives Konto mit E-Mail weiterleiten.
  • Root- oder sudo-Zugriff auf Ihren VPS.
  • Grundkenntnisse in Linux-Befehlszeilenoperationen.

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 die installierten 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 Datei docker-compose.yml 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)

Erlauben Sie wichtigen Datenverkehr (SSH, HTTP, HTTPS) durch die Firewall. Wenn Ihr SSH-Port nicht auf dem Standardport lÀuft, passen Sie ihn entsprechend an.

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

BestÀtigen Sie die Aktivierung der Firewall, wenn Sie dazu aufgefordert werden.

5. HTTPS-Zugriff konfigurieren

Die AusfĂŒhrung von Listmonk ĂŒber HTTPS ist aus SicherheitsgrĂŒnden entscheidend. Sie haben zwei Hauptoptionen:

Wenn das DNS Ihrer DomĂ€ne von Cloudflare verwaltet wird, können Sie deren Proxy-Funktion fĂŒr einfaches HTTPS nutzen.

  1. DNS-Punkt: Erstellen Sie in Cloudflare einen A-Eintrag fĂŒr Ihre Listmonk-Subdomain (z. B. listmonk.yourdomain.com), der auf Ihre VPS-IP-Adresse verweist. Stellen Sie sicher, dass der Proxy-Status auf Proxied (orangefarbene Wolke) eingestellt ist.
  2. Docker Compose anpassen: Bearbeiten Sie die heruntergeladene Datei docker-compose.yml:
   sed -i 's/9000:9000/80:9000/' docker-compose.yml

Dadurch ist Listmonk intern ĂŒber Port 80 erreichbar, den Cloudflare dann als Proxy verwenden und mit HTTPS sichern kann.

Option B: Verwenden eines Reverse-Proxys (Nginx, Caddy usw.)

Alternativ können Sie auf Ihrem VPS einen Reverse-Proxy wie Nginx oder Caddy einrichten, um die HTTPS-Terminierung und Proxy-Anfragen an Listmonk (wird standardmĂ€ĂŸig auf Port 9000 ausgefĂŒhrt) zu verarbeiten.

  • Behalten Sie den Standardwert ports: - "127.0.0.1:9000:9000" in docker-compose.yml bei, um sicherzustellen, dass Listmonk nur lokal zugĂ€nglich ist.
  • Konfigurieren Sie Ihren gewĂ€hlten Reverse-Proxy so, dass er die Ports 80 und 443 ĂŒberwacht, den Erwerb von SSL-Zertifikaten (z. B. ĂŒber Let's Encrypt) abwickelt und den Datenverkehr an http://127.0.0.1:9000 weiterleitet.
  • Die detaillierte Einrichtung des Reverse-Proxys geht ĂŒber den Rahmen dieser Anleitung hinaus. Es stehen jedoch zahlreiche Tutorials online zur VerfĂŒgung.

6. Starten Sie Listmonk

Navigieren Sie zurĂŒck zu Ihrem listmonk-Verzeichnis (falls Sie nicht bereits dort sind) und starten Sie die Container im getrennten Modus.

cd ~/listmonk # Or the directory where you saved docker-compose.yml
docker compose up -d

Docker lÀdt die erforderlichen Images herunter und startet die Listmonk-Anwendung sowie die Datenbankcontainer. Beim ersten Mal kann dies ein bis zwei Minuten dauern.

✅ Auf Listmonk zugreifen: Sie sollten jetzt ĂŒber die von Ihnen konfigurierte DomĂ€ne (z. B. https://listmonk.yourdomain.com) auf die Listmonk-WeboberflĂ€che zugreifen können.

7. Konfigurieren Sie die SMTP-Weiterleitung fĂŒr E-Mails in Listmonk

Konfigurieren Sie als NĂ€chstes Listmonk so, dass E-Mails ĂŒber Ihr Forward Email-Konto gesendet werden.

  1. SMTP in der E-Mail-Weiterleitung aktivieren: Stellen Sie sicher, dass Sie SMTP-Anmeldeinformationen im Dashboard Ihres E-Mail-Weiterleitungskontos generiert haben. Folgen Sie den Anweisungen unter Anleitung zum Weiterleiten von E-Mails mit einer benutzerdefinierten DomĂ€ne ĂŒber SMTP, falls noch nicht geschehen.
  2. Listmonk konfigurieren: Melden Sie sich im Listmonk-Administrationsbereich an.
  • Navigieren Sie zu Einstellungen -> SMTP.

  • Listmonk bietet integrierte UnterstĂŒtzung fĂŒr die Weiterleitung von E-Mails. WĂ€hlen Sie ForwardEmail aus der Anbieterliste oder geben Sie die folgenden Details manuell ein:

Einstellung Wert
Gastgeber smtp.forwardemail.net
Hafen 465
Auth-Protokoll LOGIN
Benutzername Ihre Weiterleitungs-E-Mail SMTP-Benutzername
Passwort Ihre Weiterleitungs-E-Mail SMTP-Passwort
TLS SSL/TLS
Von E-Mail Ihre gewĂŒnschte From-Adresse (z. B. newsletter@yourdomain.com). Stellen Sie sicher, dass diese DomĂ€ne in der E-Mail-Weiterleitung konfiguriert ist.
  • Wichtig: Verwenden Sie fĂŒr sichere Verbindungen mit Forward Email immer Port 465 mit SSL/TLS. Verwenden Sie nicht STARTTLS (Port 587).

  • Klicken Sie auf Speichern.

  1. Test-E-Mail senden: Klicken Sie auf der SMTP-Einstellungsseite auf die SchaltflĂ€che „Test-E-Mail senden“. Geben Sie eine erreichbare EmpfĂ€ngeradresse ein und klicken Sie auf Senden. ÜberprĂŒfen Sie, ob die E-Mail im Posteingang des EmpfĂ€ngers eintrifft.

8. Bounce-Verarbeitung konfigurieren

Mit der Bounce-Verarbeitung kann Listmonk E-Mails, die nicht zugestellt werden konnten (z. B. aufgrund ungĂŒltiger Adressen), automatisch verarbeiten. Forward Email bietet einen Webhook, um Listmonk ĂŒber Bounces zu informieren.

E-Mail-Weiterleitung einrichten

  1. Melden Sie sich bei Dashboard „E-Mail weiterleiten“ an.
  2. Navigieren Sie zu Domains, wÀhlen Sie die Domain aus, die Sie zum Senden verwenden, und öffnen Sie deren Einstellungen.
  3. Scrollen Sie nach unten zum Abschnitt Bounce-Webhook-URL.
  4. Geben Sie die folgende URL ein und ersetzen Sie <your_listmonk_domain> durch die Domain oder Subdomain, unter der Ihre Listmonk-Instanz erreichbar ist:
   https://<your_listmonk_domain>/webhooks/service/forwardemail

Beispiel: https://listmonk.yourdomain.com/webhooks/service/forwardemail 5. Scrollen Sie weiter nach unten zum Abschnitt Webhook-Signatur-Payload-VerifizierungsschlĂŒssel. 6. Kopieren Sie den generierten VerifizierungsschlĂŒssel. Sie benötigen ihn in Listmonk. 7. Speichern Sie die Änderungen in den Einstellungen Ihrer E-Mail-WeiterleitungsdomĂ€ne.

Listmonk-Setup

  1. Navigieren Sie in Ihrem Listmonk-Administrationsbereich zu Einstellungen -> Bounces.
  2. Aktivieren Sie Bounce-Verarbeitung aktivieren.
  3. Aktivieren Sie Bounce-Webhooks aktivieren.
  4. Scrollen Sie nach unten zum Abschnitt Webhook-Anbieter.
  5. Aktivieren Sie E-Mail weiterleiten.
  6. FĂŒgen Sie den Webhook-Signatur-Payload-VerifizierungsschlĂŒssel, den Sie aus dem Dashboard fĂŒr E-Mail weiterleiten kopiert haben, in das Feld SchlĂŒssel fĂŒr E-Mail weiterleiten ein.
  7. Klicken Sie unten auf der Seite auf Speichern.
  8. Die Bounce-Verarbeitung ist nun konfiguriert! Wenn E-Mail weiterleiten einen Bounce fĂŒr eine von Listmonk gesendete E-Mail erkennt, wird Ihre Listmonk-Instanz ĂŒber den Webhook benachrichtigt, und Listmonk markiert den Abonnenten entsprechend.
  9. FĂŒhren Sie die folgenden Schritte in Testen aus, um sicherzustellen, dass alles funktioniert.

Hier ist ein kurzer Überblick ĂŒber die wichtigsten Listmonk-Funktionen:

Erstellen Sie eine Mailingliste

  • 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 Bereich 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: Nutzen Sie die Listmonk-API fĂŒr programmatische ErgĂ€nzungen.
  • Weisen Sie Abonnenten beim Erstellen oder Importieren einer oder mehreren Listen zu.
  • Best Practice: Nutzen Sie ein Double-Opt-in-Verfahren. Konfigurieren Sie dies unter Einstellungen -> Opt-in & Abonnements.

Erstellen und senden Sie eine Kampagne

  • Gehen Sie zu Kampagnen -> Neue Kampagne.
  • Geben Sie die Kampagnendetails ein (Name, Betreff, Absender-E-Mail, EmpfĂ€ngerliste(n).
  • WĂ€hlen Sie den Inhaltstyp (Rich Text/HTML, Nur-Text, Unformatiertes HTML).
  • Verfassen Sie Ihren E-Mail-Inhalt. Sie können Vorlagenvariablen wie {{ .Subscriber.Email }} oder {{ .Subscriber.FirstName }} verwenden.
  • Senden Sie immer zuerst eine Test-E-Mail! Nutzen Sie die Option „Test senden“, um eine Vorschau der E-Mail in Ihrem Posteingang anzuzeigen.
  • Wenn Sie zufrieden sind, klicken Sie auf Kampagne starten, um den Versand sofort durchzufĂŒhren oder fĂŒr einen spĂ€teren Zeitpunkt zu planen.

  • SMTP-Zustellung: Senden Sie regelmĂ€ĂŸig Test-E-Mails ĂŒber die SMTP-Einstellungsseite von Listmonk und testen Sie Kampagnen, um sicherzustellen, dass die E-Mails korrekt zugestellt werden.
  • Bounce-Behandlung: Senden Sie eine Testkampagne an eine bekanntermaßen ungĂŒltige E-Mail-Adresse (z. B. bounce-test@yourdomain.com, falls Sie keine gĂŒltige Adresse zur Hand haben; die Ergebnisse können jedoch variieren). ÜberprĂŒfen Sie nach kurzer Zeit die Kampagnenstatistiken in Listmonk, um festzustellen, ob der Bounce registriert wurde.
  • E-Mail-Header: Verwenden Sie Tools wie Mail-Tester oder ĂŒberprĂŒfen Sie E-Mail-Header manuell, um sicherzustellen, dass SPF, DKIM und DMARC durchgelassen werden, was auf eine korrekte Einrichtung durch Forward Email hinweist.
  • Forward Email-Protokolle: ÜberprĂŒfen Sie Ihre Forward Email-Dashboard-Protokolle, wenn Sie Zustellungsprobleme vermuten, die vom SMTP-Server herrĂŒhren.

  • Templating: Listmonk nutzt die Template-Engine von Go. Informationen zur erweiterten Personalisierung finden Sie in der Dokumentation: {{ .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 in der Fußzeile Ihrer Listmonk-Instanz.
  • Benutzerdefinierte Felder: Definieren Sie unter Einstellungen -> Abonnentenfelder benutzerdefinierte Abonnentenfelder, um zusĂ€tzliche Daten zu speichern.
  • Webhooks: Neben Bounces kann Listmonk auch Webhooks fĂŒr andere Ereignisse (z. B. Abonnements) senden und so die Integration mit anderen Systemen ermöglichen.

Durch die Integration der selbst gehosteten Leistung von Listmonk mit der sicheren, datenschutzkonformen 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, kostengĂŒnstige und entwicklerfreundliche Alternative zu proprietĂ€ren E-Mail-Diensten und steht im Einklang mit dem Ethos von Open-Source-Software und dem Schutz der PrivatsphĂ€re der Benutzer.

Viel Spaß beim Senden! 🚀