Listmonk met doorstuurmail voor veilige nieuwsbriefbezorging
Overzicht
Deze handleiding biedt ontwikkelaars stapsgewijze instructies voor het instellen van Listmonk, een krachtige open-source nieuwsbrief- en mailinglijstbeheerder, om E-mail doorsturen als SMTP-provider te gebruiken. Deze combinatie stelt u in staat uw campagnes effectief te beheren en tegelijkertijd veilige, vertrouwelijke en betrouwbare e-mailbezorging te garanderen.
- Listmonk: Verwerkt abonneebeheer, lijstorganisatie, campagnecreatie en prestatietracking.
- Forward Email: Fungeert als de beveiligde SMTP-server en verwerkt de daadwerkelijke verzending van e-mails met ingebouwde beveiligingsfuncties zoals SPF, DKIM, DMARC en TLS-encryptie.
Door deze twee te integreren, behoudt u de volledige controle over uw gegevens en infrastructuur, terwijl u tegelijkertijd gebruikmaakt van het robuuste bezorgsysteem van Forward Email.
Waarom Listmonk en doorsturen van e-mail
- Open source: Zowel Listmonk als de principes achter Forward Email benadrukken transparantie en controle. U host Listmonk zelf en bent eigenaar van uw gegevens.
- Privacygericht: Forward Email is gebouwd met privacy als kern, minimaliseert gegevensretentie en focust op veilige overdracht.
- Kosteneffectief: Listmonk is gratis en Forward Email biedt royale gratis abonnementen en betaalbare betaalde abonnementen, waardoor dit een budgetvriendelijke oplossing is.
- Schaalbaarheid: Listmonk is zeer performant en de infrastructuur van Forward Email is ontworpen voor betrouwbare levering op schaal.
- Ontwikkelaarsvriendelijk: Listmonk biedt een robuuste API en Forward Email biedt eenvoudige SMTP-integratie en webhooks.
Vereisten
Voordat u begint, moet u ervoor zorgen dat u het volgende heeft:
- Een Virtual Private Server (VPS) met een recente Linux-distributie (Ubuntu 20.04+ aanbevolen) met minimaal 1 CPU en 1 GB RAM (2 GB aanbevolen).
- Heb je een provider nodig? Bekijk dan aanbevolen VPS-lijst.
- Een domeinnaam die je zelf beheert (DNS-toegang vereist).
- Een actief account met E-mail doorsturen.
- Root- of
sudo
-toegang tot je VPS. - Basiskennis van Linux-opdrachtregelbewerkingen.
Installatie
Deze stappen begeleiden u bij het installeren van Listmonk met behulp van Docker en Docker Compose op uw VPS.
1. Werk uw server bij
Zorg ervoor dat de pakketlijst van uw systeem en de geïnstalleerde pakketten up-to-date zijn.
sudo apt update && sudo apt upgrade -y
2. Afhankelijkheden installeren
Installeer Docker, Docker Compose en UFW (Uncomplicated Firewall).
sudo apt install -y docker.io docker-compose ufw
3. Download Listmonk-configuratie
Maak een directory voor Listmonk en download het officiële bestand docker-compose.yml
.
mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml
Dit bestand definieert de Listmonk-toepassingscontainer en de vereiste PostgreSQL-databasecontainer.
4. Firewall configureren (UFW)
Laat essentieel verkeer (SSH, HTTP, HTTPS) door de firewall. Als uw SSH op een niet-standaardpoort draait, pas dit dan aan.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Bevestig dat u de firewall wilt inschakelen wanneer u daarom wordt gevraagd.
5. HTTPS-toegang configureren
Het is cruciaal voor de beveiliging om Listmonk via HTTPS te gebruiken. Je hebt twee primaire opties:
Optie A: Cloudflare-proxy gebruiken (aanbevolen voor eenvoud)
Als de DNS van uw domein wordt beheerd door Cloudflare, kunt u hun proxyfunctie gebruiken voor eenvoudige HTTPS.
- Point DNS: Maak een
A
-record aan in Cloudflare voor je Listmonk-subdomein (bijv.listmonk.yourdomain.com
) dat verwijst naar je VPS-IP-adres. Zorg ervoor dat de Proxystatus is ingesteld op Proxied (oranje wolk). - Docker Compose aanpassen: Bewerk het gedownloade bestand
docker-compose.yml
:
sed -i 's/9000:9000/80:9000/' docker-compose.yml
Hierdoor is Listmonk intern toegankelijk via poort 80, die Cloudflare vervolgens kan proxyen en beveiligen met HTTPS.
Optie B: Een omgekeerde proxy gebruiken (Nginx, Caddy, enz.)
U kunt er ook voor kiezen om een omgekeerde proxy zoals Nginx of Caddy op uw VPS in te stellen om HTTPS-beëindiging en proxyverzoeken naar Listmonk af te handelen (standaard draait deze op poort 9000).
- Houd de standaard
ports: - "127.0.0.1:9000:9000"
indocker-compose.yml
aan om ervoor te zorgen dat Listmonk alleen lokaal toegankelijk is. - Configureer de gekozen reverse proxy om te luisteren op poorten 80 en 443, de SSL-certificaatverwerving af te handelen (bijvoorbeeld via Let's Encrypt) en verkeer door te sturen naar
http://127.0.0.1:9000
. - Gedetailleerde reverse proxy-instellingen vallen buiten het bestek van deze handleiding, maar er zijn online veel tutorials beschikbaar.
6. Start Listmonk
Ga terug naar de map listmonk
(als u daar nog niet bent) en start de containers in de losgemaakte modus.
cd ~/listmonk # Or the directory where you saved docker-compose.yml
docker compose up -d
Docker downloadt de benodigde images en start de Listmonk-applicatie en databasecontainers. Dit kan de eerste keer een minuut of twee duren.
✅ Toegang tot Listmonk: U zou nu toegang moeten hebben tot de Listmonk-webinterface via het domein dat u hebt geconfigureerd (bijv. https://listmonk.yourdomain.com
).
7. Configureer SMTP voor doorsturen van e-mail in Listmonk
Configureer vervolgens Listmonk om e-mails te versturen via uw Forward Email-account.
- SMTP inschakelen in Doorsturen van e-mail: Zorg ervoor dat je SMTP-referenties hebt gegenereerd in het dashboard van je Doorsturen van e-mailaccount. Volg de Handleiding voor het doorsturen van e-mail met een aangepast domein via SMTP-regel als je dat nog niet hebt gedaan.
- Listmonk configureren: Log in op je Listmonk-beheerpaneel.
-
Ga naar Instellingen -> SMTP.
-
Listmonk heeft ingebouwde ondersteuning voor het doorsturen van e-mail. Selecteer ForwardEmail in de providerlijst of voer de volgende gegevens handmatig in:
Instelling | Waarde |
---|---|
Gastheer | smtp.forwardemail.net |
Haven | 465 |
Authenticatieprotocol | LOGIN |
Gebruikersnaam | Uw doorstuur-e-mail SMTP-gebruikersnaam |
Wachtwoord | Uw doorstuur-e-mail SMTP-wachtwoord |
TLS | SSL/TLS |
Vanuit e-mail | Het gewenste From -adres (bijv. newsletter@yourdomain.com ). Zorg ervoor dat dit domein is geconfigureerd in 'E-mail doorsturen'. |
-
Belangrijk: Gebruik altijd poort
465
metSSL/TLS
voor beveiligde verbindingen met Forward Email. Gebruik geen STARTTLS (poort 587). -
Klik op Opslaan.
- Test-e-mail verzenden: Gebruik de knop 'Test-e-mail verzenden' op de pagina met SMTP-instellingen. Voer een toegankelijk ontvangersadres in en klik op Verzenden. Controleer of de e-mail in de inbox van de ontvanger aankomt.
8. Bounceverwerking configureren
Dankzij bounceverwerking kan Listmonk automatisch e-mails verwerken die niet konden worden afgeleverd (bijvoorbeeld vanwege ongeldige adressen). Forward Email biedt een webhook om Listmonk op de hoogte te stellen van bounces.
E-mail doorsturen instellen
- Log in op je Dashboard voor doorsturen van e-mail.
- Navigeer naar Domeinen, selecteer het domein dat je gebruikt voor verzending en ga naar de pagina Instellingen.
- Scrol omlaag naar het gedeelte Bounce Webhook URL.
- Voer de volgende URL in, waarbij je
<your_listmonk_domain>
vervangt door het domein of subdomein waar je Listmonk-instantie toegang toe heeft:
https://<your_listmonk_domain>/webhooks/service/forwardemail
Voorbeeld: https://listmonk.yourdomain.com/webhooks/service/forwardemail
5. Scrol verder omlaag naar het gedeelte Verificatiesleutel voor de Webhook Signature Payload.
6. Kopieer de gegenereerde verificatiesleutel. Je hebt deze nodig in Listmonk.
7. Sla de wijzigingen op in de domeininstellingen voor je Forward Email.
Listmonk-installatie
- Navigeer in je Listmonk-beheerpaneel naar Instellingen -> Bounces.
- Schakel Bounceverwerking inschakelen in.
- Schakel Bounce-webhooks inschakelen in.
- Scrol omlaag naar het gedeelte Webhook-providers.
- Schakel E-mail doorsturen in.
- Plak de Webhook Signature Payload Verification Key die je hebt gekopieerd van het dashboard voor e-mail doorsturen in het veld Sleutel voor e-mail doorsturen.
- Klik onderaan de pagina op Opslaan.
- De bounceverwerking is nu geconfigureerd! Wanneer e-mail doorsturen een bounce detecteert voor een e-mail die door Listmonk is verzonden, wordt je Listmonk-instantie hiervan via de webhook op de hoogte gesteld en markeert Listmonk de abonnee dienovereenkomstig.
- Voltooi de onderstaande stappen in Testen om te controleren of alles werkt.
Testen van
Hier volgt een kort overzicht van de belangrijkste Listmonk-functies:
Maak een mailinglijst
- Ga naar Lijsten in de zijbalk.
- Klik op Nieuwe lijst.
- Vul de gegevens in (Naam, Type: Openbaar/Privé, Beschrijving, Tags) en Sla op.
Abonnees toevoegen
- Navigeer naar het gedeelte Abonnees.
- Je kunt abonnees toevoegen:
- Handmatig: Klik op Nieuwe abonnee.
- Importeren: Klik op Abonnees importeren om een CSV-bestand te uploaden.
- API: Gebruik de Listmonk API voor programmatische toevoegingen.
- Wijs abonnees toe aan een of meer lijsten tijdens het aanmaken of importeren.
- Best practice: Gebruik een dubbel aanmeldingsproces. Configureer dit onder Instellingen -> Aanmeldingen & Abonnementen.
Een campagne maken en verzenden
- Ga naar Campagnes -> Nieuwe campagne.
- Vul de campagnegegevens in (naam, onderwerp, afzender, lijst(en) waarnaar verzonden moet worden).
- Kies het type content (Rich Text/HTML, platte tekst, onbewerkte HTML).
- Stel de content van je e-mail samen. Je kunt sjabloonvariabelen gebruiken zoals
{{ .Subscriber.Email }}
of{{ .Subscriber.FirstName }}
. - Stuur altijd eerst een testmail! Gebruik de optie 'Test verzenden' om een voorbeeld van de e-mail in je inbox te bekijken.
- Klik als je tevreden bent op Campagne starten om de e-mail direct te verzenden of in te plannen voor later.
Verificatie
- SMTP-bezorging: Verstuur regelmatig test-e-mails via de SMTP-instellingenpagina van Listmonk en test campagnes om te controleren of e-mails correct worden bezorgd.
- Bounceverwerking: Verstuur een testcampagne naar een bekend ongeldig e-mailadres (bijv.
bounce-test@yourdomain.com
als u geen echt adres bij de hand hebt, hoewel de resultaten kunnen variëren). Controleer na korte tijd de campagnestatistieken in Listmonk om te zien of de bounce is geregistreerd. - E-mailheaders: Gebruik tools zoals Mailtester of controleer e-mailheaders handmatig om te controleren of SPF, DKIM en DMARC worden verwerkt, wat aangeeft dat de instellingen via Forward Email correct zijn.
- Forward Email Logs: Controleer de logs van uw Forward Email-dashboard als u vermoedt dat er bezorgingsproblemen zijn die afkomstig zijn van de SMTP-server.
Ontwikkelaarsnotities
- Templating: Listmonk maakt gebruik van de template-engine van Go. Bekijk de documentatie voor geavanceerde personalisatie:
{{ .Subscriber.Attribs.your_custom_field }}
. - API: Listmonk biedt een uitgebreide REST API voor het beheren van lijsten, abonnees, campagnes, sjablonen en meer. De link naar de API-documentatie vindt u in de voettekst van uw Listmonk-instantie.
- Aangepaste velden: Definieer aangepaste abonneevelden onder Instellingen -> Abonneevelden om extra gegevens op te slaan.
- Webhooks: Naast bounces kan Listmonk ook webhooks versturen voor andere gebeurtenissen (bijv. abonnementen), waardoor integratie met andere systemen mogelijk is.
Conclusie
Door de zelfgehoste kracht van Listmonk te integreren met de veilige, privacy-respecterende levering van Forward Email, creëert u een robuust en ethisch e-mailmarketingplatform. U behoudt de volledige controle over uw doelgroepgegevens en profiteert tegelijkertijd van een hoge leverbaarheid en geautomatiseerde beveiligingsfuncties.
Deze opzet biedt een schaalbaar, kosteneffectief en ontwikkelaarsvriendelijk alternatief voor propriëtaire e-maildiensten en past perfect bij de filosofie van opensourcesoftware en de privacy van gebruikers.
Fijne verzending! 🚀