Listmonk med Forward Email för säker nyhetsbrevsleverans
Översikt
Denna guide ger utvecklare steg-för-steg-instruktioner för att sätta upp Listmonk, en kraftfull öppen källkodslösning för nyhetsbrev och mailinglistor, för att använda Forward Email som dess SMTP-leverantör. Denna kombination låter dig effektivt hantera dina kampanjer samtidigt som du säkerställer säker, privat och pålitlig e-postleverans.
- Listmonk: Hanterar prenumeranthantering, listaorganisation, kampanjskapande och prestandaspårning.
- Forward Email: Fungerar som den säkra SMTP-servern och hanterar den faktiska utskicket av e-post med inbyggda säkerhetsfunktioner som SPF, DKIM, DMARC och TLS-kryptering.
Genom att integrera dessa två behåller du full kontroll över dina data och din infrastruktur samtidigt som du utnyttjar Forward Emails robusta leveranssystem.
Varför Listmonk och Forward Email
- Öppen källkod: Både Listmonk och principerna bakom Forward Email betonar transparens och kontroll. Du hostar Listmonk själv och äger dina data.
- Integritetsfokuserat: Forward Email är byggt med integritet i fokus, minimerar datalagring och prioriterar säker överföring.
- Kostnadseffektivt: Listmonk är gratis och Forward Email erbjuder generösa gratisnivåer och prisvärda betalplaner, vilket gör detta till en budgetvänlig lösning.
- Skalbarhet: Listmonk är mycket presterande och Forward Emails infrastruktur är designad för pålitlig leverans i stor skala.
- Utvecklarvänligt: Listmonk erbjuder ett robust API och Forward Email tillhandahåller enkel SMTP-integration och webhooks.
Förutsättningar
Innan du börjar, säkerställ att du har följande:
- En Virtuell Privat Server (VPS) som kör en aktuell Linux-distribution (Ubuntu 20.04+ rekommenderas) med minst 1 CPU och 1GB RAM (2GB rekommenderas).
- Behöver du en leverantör? Kolla in rekommenderad VPS-lista.
- Ett domännamn som du kontrollerar (DNS-åtkomst krävs).
- Ett aktivt konto hos Forward Email.
- Root- eller
sudo-åtkomst till din VPS. - Grundläggande kännedom om Linux-kommandoraden.
Installation
Dessa steg guidar dig genom installationen av Listmonk med Docker och Docker Compose på din VPS.
1. Uppdatera din server
Säkerställ att systemets paketlista och installerade paket är uppdaterade.
sudo apt update && sudo apt upgrade -y
2. Installera beroenden
Installera Docker, Docker Compose och UFW (Uncomplicated Firewall).
sudo apt install -y docker.io docker-compose ufw
3. Ladda ner Listmonk-konfiguration
Skapa en katalog för Listmonk och ladda ner den officiella docker-compose.yml-filen.
mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml
Denna fil definierar Listmonk-applikationscontainern och dess nödvändiga PostgreSQL-databascontainer.
4. Konfigurera brandvägg (UFW)
Tillåt nödvändig trafik (SSH, HTTP, HTTPS) genom brandväggen. Om din SSH körs på en icke-standardport, justera därefter.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Bekräfta att du vill aktivera brandväggen när du blir tillfrågad.
5. Konfigurera HTTPS-åtkomst
Att köra Listmonk över HTTPS är avgörande för säkerheten. Du har två huvudsakliga alternativ:
Alternativ A: Använda Cloudflare Proxy (Rekommenderas för enkelhet)
Om din domäns DNS hanteras av Cloudflare kan du använda deras proxyfunktion för enkel HTTPS.
- Peka DNS: Skapa en
A-post i Cloudflare för din Listmonk-underdomän (t.ex.listmonk.dindomän.com) som pekar på din VPS IP-adress. Se till att Proxy status är inställd på Proxied (orange moln). - Ändra Docker Compose: Redigera filen
docker-compose.ymlsom du laddade ner:Detta gör Listmonk tillgängligt internt på port 80, vilket Cloudflare sedan kan proxy:a och säkra med HTTPS.sed -i 's/9000:9000/80:9000/' docker-compose.yml
Alternativ B: Använda en omvänd proxy (Nginx, Caddy, etc.)
Alternativt kan du konfigurera en omvänd proxy som Nginx eller Caddy på din VPS för att hantera HTTPS-terminering och proxyförfrågningar till Listmonk (som körs på port 9000 som standard).
- Behåll standardinställningen
ports: - "127.0.0.1:9000:9000"idocker-compose.ymlför att säkerställa att Listmonk endast är åtkomligt lokalt. - Konfigurera din valda omvända proxy att lyssna på portarna 80 och 443, hantera SSL-certifikat (t.ex. via Let's Encrypt) och vidarebefordra trafiken till
http://127.0.0.1:9000. - Detaljerad konfiguration av omvänd proxy ligger utanför denna guides omfattning, men många handledningar finns tillgängliga online.
6. Starta Listmonk
Navigera tillbaka till din listmonk-katalog (om du inte redan är där) och starta containrarna i detached-läge.
cd ~/listmonk # Eller katalogen där du sparade docker-compose.yml
docker compose up -d
Docker kommer att ladda ner nödvändiga bilder och starta Listmonk-applikationen och databascontainrarna. Det kan ta en minut eller två första gången.
✅ Åtkomst till Listmonk: Du bör nu kunna nå Listmonk webbgränssnitt via den domän du konfigurerade (t.ex. https://listmonk.dindomän.com).
7. Konfigurera Forward Email SMTP i Listmonk
Nästa steg är att konfigurera Listmonk för att skicka e-post med ditt Forward Email-konto.
- Aktivera SMTP i Forward Email: Se till att du har genererat SMTP-uppgifter i din Forward Email-kontos instrumentpanel. Följ Forward Email-guiden för att skicka e-post med en egen domän via SMTP om du inte redan gjort det.
- Konfigurera Listmonk: Logga in i din Listmonk adminpanel.
-
Navigera till Inställningar -> SMTP.
-
Listmonk har inbyggt stöd för Forward Email. Välj ForwardEmail från leverantörslistan, eller ange manuellt följande uppgifter:
Inställning Värde Host smtp.forwardemail.netPort 465Auth protocol LOGINUsername Ditt Forward Email SMTP-användarnamn Password Ditt Forward Email SMTP-lösenord TLS SSL/TLSFrom e-mail Din önskade From-adress (t.ex.newsletter@dindomän.com). Se till att denna domän är konfigurerad i Forward Email.
-
-
Viktigt: Använd alltid Port
465medSSL/TLSför säkra anslutningar med Forward Email (rekommenderas). Port587med STARTTLS stöds också men SSL/TLS föredras.- Klicka på Spara.
- Skicka testmail: Använd knappen "Skicka testmail" på sidan för SMTP-inställningar. Ange en mottagaradress som du kan nå och klicka på Skicka. Verifiera att mailet kommer fram till mottagarens inkorg.
8. Konfigurera Bounce-hantering
Bounce-hantering gör det möjligt för Listmonk att automatiskt hantera mail som inte kunde levereras (t.ex. på grund av ogiltiga adresser). Forward Email tillhandahåller en webhook för att meddela Listmonk om bounces.
Forward Email-inställningar
- Logga in på din Forward Email Dashboard.
- Gå till Domains, välj den domän du använder för utskick och gå till dess Settings-sida.
- Scrolla ner till avsnittet Bounce Webhook URL.
- Ange följande URL, byt ut
<your_listmonk_domain>mot den faktiska domänen eller subdomänen där din Listmonk-instans är tillgänglig:
Exempel:https://<your_listmonk_domain>/webhooks/service/forwardemailhttps://listmonk.yourdomain.com/webhooks/service/forwardemail - Scrolla ytterligare ner till avsnittet Webhook Signature Payload Verification Key.
- Kopiera den genererade verifieringsnyckeln. Du kommer att behöva den i Listmonk.
- Spara ändringarna i dina Forward Email-domäninställningar.
Listmonk-inställningar
- I din Listmonk adminpanel, gå till Settings -> Bounces.
- Aktivera Enable bounce processing.
- Aktivera Enable bounce webhooks.
- Scrolla ner till avsnittet Webhook Providers.
- Aktivera Forward Email.
- Klistra in Webhook Signature Payload Verification Key som du kopierade från Forward Email dashboard i fältet Forward Email Key.
- Klicka på Save längst ner på sidan.
- Bounce-hanteringen är nu konfigurerad! När Forward Email upptäcker en bounce för ett mail skickat av Listmonk, kommer det att meddela din Listmonk-instans via webhooken, och Listmonk markerar prenumeranten därefter.
- Slutför stegen nedan i Testing för att säkerställa att allt fungerar.
Testning
Här är en snabb översikt över kärnfunktioner i Listmonk:
Skapa en mailinglista
- Gå till Lists i sidomenyn.
- Klicka på New List.
- Fyll i detaljerna (Namn, Typ: Public/Private, Beskrivning, Taggar) och Spara.
Lägg till prenumeranter
- Navigera till sektionen Subscribers.
- Du kan lägga till prenumeranter:
- Manuellt: Klicka på New Subscriber.
- Importera: Klicka på Import Subscribers för att ladda upp en CSV-fil.
- API: Använd Listmonks API för programmatisk tilläggning.
- Tilldela prenumeranter till en eller flera listor vid skapande eller import.
- Bästa praxis: Använd en dubbel opt-in-process. Konfigurera detta under Settings -> Opt-in & Subscriptions.
Skapa och skicka en kampanj
- Gå till Campaigns -> New Campaign.
- Fyll i kampanjdetaljerna (Namn, Ämne, Från-mail, Lista(or) att skicka till).
- Välj din innehållstyp (Rich Text/HTML, Plain Text, Raw HTML).
- Skriv ditt mailinnehåll. Du kan använda mallvariabler som
{{ .Subscriber.Email }}eller{{ .Subscriber.FirstName }}. - Skicka alltid ett testmail först! Använd "Send Test"-alternativet för att förhandsgranska mailet i din inkorg.
- När du är nöjd, klicka på Start Campaign för att skicka omedelbart eller schemalägg för senare.
Verifiering
- SMTP-leverans: Skicka regelbundet testmail via Listmonks SMTP-inställningssida och testkampanjer för att säkerställa att mail levereras korrekt.
- Bounce-hantering: Skicka en testkampanj till en känd ogiltig mailadress (t.ex.
bounce-test@yourdomain.comom du inte har en riktig till hands, men resultat kan variera). Kontrollera kampanjstatistiken i Listmonk efter en stund för att se om bouncen registrerats. - Mailhuvuden: Använd verktyg som Mail-Tester eller inspektera mailhuvuden manuellt för att verifiera att SPF, DKIM och DMARC passerar, vilket indikerar korrekt uppsättning via Forward Email.
- Forward Email-loggar: Kontrollera loggarna i din Forward Email dashboard om du misstänker leveransproblem som härstammar från SMTP-servern.
Developer Notes
- Templating: Listmonk använder Go:s templatemotor. Utforska dess dokumentation för avancerad personalisering:
{{ .Subscriber.Attribs.your_custom_field }}. - API: Listmonk erbjuder ett omfattande REST API för att hantera listor, prenumeranter, kampanjer, mallar med mera. Hitta API-dokumentationslänken i din Listmonk-instansens sidfot.
- Custom Fields: Definiera anpassade prenumerantfält under Settings -> Subscriber Fields för att lagra ytterligare data.
- Webhooks: Förutom studsningar kan Listmonk skicka webhooks för andra händelser (t.ex. prenumerationer), vilket möjliggör integration med andra system.
Conclusion
Genom att integrera den självhostade kraften i Listmonk med den säkra, integritetsrespekterande leveransen från Forward Email skapar du en robust och etisk e-postmarknadsföringsplattform. Du behåller full äganderätt till din publikdata samtidigt som du drar nytta av hög leveransbarhet och automatiserade säkerhetsfunktioner.
Denna lösning erbjuder ett skalbart, kostnadseffektivt och utvecklarvänligt alternativ till proprietära e-posttjänster, vilket passar perfekt med öppen källkodsprogramvarans och användarens integritets ethos.
Lycka till med utskicken! 🚀