Listmonk med vidarebefordran av e-post för säker nyhetsbrevsleverans

Den här guiden ger utvecklare steg-för-steg-instruktioner för installation Listmonk, en kraftfull öppen källkodshanterare för nyhetsbrev och e-postlistor, att använda Vidarebefordra e-post som dess SMTP-leverantör. Denna kombination låter dig hantera dina kampanjer effektivt samtidigt som du säkerställer säker, privat och pålitlig e-postleverans.

  • ListmonkHanterar prenumeranthantering, listorganisation, kampanjskapande och resultatspårning.
  • Vidarebefordra e-postFungerar som en säker SMTP-server och hanterar själva sändningen av e-postmeddelanden med inbyggda säkerhetsfunktioner som SPF-, DKIM-, DMARC- och TLS-kryptering.

Genom att integrera dessa två behåller du full kontroll över din data och infrastruktur samtidigt som du utnyttjar Forward Emails robusta leveranssystem.

  • Öppen källaBåde Listmonk och principerna bakom Forward Email betonar transparens och kontroll. Du hostar Listmonk själv och äger dina data.
  • IntegritetsfokuseradVidarebefordra e-post är byggt med integritet i centrum, minimerar datalagring och fokuserar på säker överföring.
  • KostnadseffektivListmonk är gratis, och Forward Email erbjuder generösa gratisnivåer och prisvärda betalplaner, vilket gör detta till en budgetvänlig lösning.
  • SkalbarhetListmonk är mycket prestandaeffektivt och Forward Emails infrastruktur är utformad för pålitlig leverans i stor skala.
  • UtvecklarvänligListmonk erbjuder ett robust API, och Forward Email tillhandahåller enkel SMTP-integration och webhooks.

Innan du börjar, se till att du har följande:

  • En virtuell privat server (VPS) som kör en nyligen installerad Linuxdistribution (Ubuntu 20.04+ rekommenderas) med minst 1 processor och 1 GB RAM (2 GB rekommenderas).
  • Ett domännamn som du kontrollerar (DNS-åtkomst krävs).
  • Ett aktivt konto med Vidarebefordra e-post.
  • Rot eller sudo åtkomst till din VPS.
  • Grundläggande kunskaper om kommandoradsoperationer i Linux.

Dessa steg guidar dig genom installationen av Listmonk med Docker och Docker Compose på din VPS.

1. Uppdatera din server

Se till att systemets paketlista och installerade paket är uppdaterade.

sudo apt update && sudo apt upgrade -y

2. Installera beroenden

Installera Docker, Docker Compose och UFW (okomplicerad brandvägg).

sudo apt install -y docker.io docker-compose ufw

3. Ladda ner Listmonk-konfigurationen

Skapa en katalog för Listmonk och ladda ner den officiella docker-compose.yml fil.

mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml

Den här filen definierar Listmonk-applikationscontainern och dess obligatoriska 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-standardiserad port, justera därefter.

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

Bekräfta aktiveringen av brandväggen när du uppmanas att göra det.

5. Konfigurera HTTPS-åtkomst

Att köra Listmonk över HTTPS är avgörande för säkerheten. Du har två huvudsakliga alternativ:

Om din domäns DNS hanteras av Cloudflare kan du utnyttja deras proxyfunktion för enkel HTTPS.

  1. Punkt-DNSSkapa en A registrera i Cloudflare för din Listmonk-underdomän (t.ex. listmonk.yourdomain.com) som pekar mot din VPS IP-adress. Se till att Proxystatus är inställd på Proxyserverad (orange moln).
  2. Ändra Docker ComposeRedigera docker-compose.yml filen du laddade ner:
    sed -i 's/9000:9000/80:9000/' docker-compose.yml
    
    Detta gör Listmonk tillgänglig internt på port 80, som Cloudflare sedan kan proxya och säkra med HTTPS.

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 (körs på port 9000 som standard).

  • Behåll standardinställningen ports: - "127.0.0.1:9000:9000" i docker-compose.yml för att säkerställa att Listmonk endast är tillgänglig lokalt.
  • Konfigurera din valda omvända proxy för att lyssna på portarna 80 och 443, hantera SSL-certifikatförvärv (t.ex. via Let's Encrypt) och vidarebefordra trafik till http://127.0.0.1:9000.
  • Detaljerad installation av omvänd proxy ligger utanför den här guidens omfattning, men många handledningar finns tillgängliga online.

6. Starta Listmonk

Navigera tillbaka till din listmonk katalogen (om du inte redan är där) och starta containrarna i frikopplat läge.

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

Docker kommer att ladda ner de nödvändiga avbildningarna och starta Listmonk-applikationen och databascontainrarna. Det kan ta en minut eller två första gången.

Åtkomst till ListmonkDu borde nu kunna komma åt Listmonks webbgränssnitt via domänen du konfigurerade (t.ex. https://listmonk.yourdomain.com).

7. Konfigurera vidarebefordran av e-post via SMTP i Listmonk

Konfigurera sedan Listmonk för att skicka e-postmeddelanden med ditt konto för vidarebefordran av e-post.

  1. Aktivera SMTP i Vidarebefordra e-postSe till att du har genererat SMTP-inloggningsuppgifter i instrumentpanelen för ditt konto för vidarebefordran av e-post. Följ instruktionerna Guide för vidarebefordran av e-post för att skicka e-post med en anpassad domän via SMTP om du inte redan har gjort det.
  2. Konfigurera ListmonkLogga in på din Listmonk-administratörspanel.
    • Navigera till Inställningar -> SMTP.

    • Listmonk har inbyggt stöd för vidarebefordran av e-post. Välj Vidarebefordra e-post från leverantörslistan, eller ange följande uppgifter manuellt:

      MiljöVärde
      Värdsmtp.forwardemail.net
      Hamn465
      Auth-protokollLOGIN
      AnvändarnamnDin vidarebefordran av e-post SMTP-användarnamn
      LösenordDin vidarebefordran av e-post SMTP-lösenord
      TLSSSL/TLS
      Från e-postDin önskade From adress (t.ex. newsletter@yourdomain.comSe till att den här domänen är konfigurerad i Vidarebefordra e-post.
    • ViktigAnvänd alltid port 465 med SSL/TLS för säkra anslutningar med vidarebefordran av e-post. Använd inte STARTTLS (port 587).

    • Klick Spara.

  3. Skicka testmejlAnvänd knappen "Skicka test-e-post" på sidan SMTP-inställningar. Ange en mottagaradress som du har åtkomst till och klicka på SkickaKontrollera att e-postmeddelandet kommer fram till mottagarens inkorg.

8. Konfigurera avvisningsbehandling

Avvisningshantering gör att Listmonk automatiskt hanterar e-postmeddelanden som inte kunde levereras (t.ex. på grund av ogiltiga adresser). Vidarebefordra e-post tillhandahåller en webhook för att meddela Listmonk om avvisningar.

Konfiguration av vidarebefordran av e-post

  1. Logga in på din Instrumentpanel för vidarebefordran av e-post.
  2. Navigera till domäner, välj den domän du använder för att skicka och gå till dess inställningar sida.
  3. Scrolla ner till Bounce Webhook URL avsnitt.
  4. Ange följande URL och ersätt den <your_listmonk_domain> med den faktiska domänen eller underdomänen där din Listmonk-instans är tillgänglig:
    https://<your_listmonk_domain>/webhooks/service/forwardemail
    
    Exempel: https://listmonk.yourdomain.com/webhooks/service/forwardemail
  5. Scrolla vidare ner till Webhook Signature Verifieringsnyckel för nyttolast avsnitt.
  6. Kopia den genererade verifieringsnyckeln. Du behöver denna i Listmonk.
  7. Spara ändringarna i dina domäninställningar för vidarebefordran av e-post.

Listmonk-installation

  1. I din Listmonk-administratörspanel, navigera till Inställningar -> Studsar.
  2. Aktivera Aktivera avvisningsbearbetning.
  3. Aktivera Aktivera studsande webhooks.
  4. Scrolla ner till Webhook-leverantörer avsnitt.
  5. Aktivera Vidarebefordra e-post.
  6. Klistra in Webhook Signature Verifieringsnyckel för nyttolast du kopierade från instrumentpanelen Vidarebefordra e-post till Vidarebefordra e-postnyckel fält.
  7. Klick Spara längst ner på sidan.
  8. Avvisningshanteringen är nu konfigurerad! När Forward Email detekterar en avvisning för ett e-postmeddelande som skickats av Listmonk, meddelar den din Listmonk-instans via webhooken, och Listmonk markerar prenumeranten därefter.
  9. Slutför stegen nedan i Testning för att säkerställa att allt fungerar.

Här är en snabb översikt över Listmonks kärnfunktioner:

Skapa en e-postlista

  • Gå till Listor i sidofältet.
  • Klick Ny lista.
  • Fyll i uppgifterna (Namn, Typ: Offentlig/Privat, Beskrivning, Taggar) och Spara.

Lägg till prenumeranter

  • Navigera till Prenumeranter avsnitt.
  • Du kan lägga till prenumeranter:
    • ManuelltKlicka Ny prenumerant.
    • ImporteraKlicka Importera prenumeranter för att ladda upp en CSV-fil.
    • APIAnvänd Listmonk API för programmatiska tillägg.
  • Tilldela prenumeranter till en eller flera listor under skapande eller import.
  • Bästa praxisAnvänd en dubbel opt-in-process. Konfigurera detta under Inställningar -> Anmälan och prenumerationer.

Skapa och skicka en kampanj

  • Gå till Kampanjer -> Ny kampanj.
  • Fyll i kampanjuppgifterna (namn, ämne, från-e-postadress, lista(or) att skicka till).
  • Välj din innehållstyp (Rich Text/HTML, vanlig text, rå HTML).
  • Skriv ditt e-postinnehåll. Du kan använda mallvariabler som {{ .Subscriber.Email }} eller {{ .Subscriber.FirstName }}.
  • Skicka alltid ett testmejl först! Använd alternativet "Skicka test" för att förhandsgranska e-postmeddelandet i din inkorg.
  • När du är nöjd klickar du Starta kampanj att skicka omedelbart eller schemalägga det till senare.

  • SMTP-leveransSkicka regelbundet testmejl via Listmonks SMTP-inställningssida och testkampanjer för att säkerställa att mejlen levereras korrekt.
  • StudshanteringSkicka en testkampanj till en känd ogiltig e-postadress (t.ex. bounce-test@yourdomain.com (om du inte har en riktig till hands, även om resultaten kan variera). Kontrollera kampanjstatistiken i Listmonk efter en kort stund för att se om avvisningen är registrerad.
  • E-postrubrikerAnvänd verktyg som Mail Tester eller granska e-postrubriker manuellt för att verifiera att SPF, DKIM och DMARC skickas, vilket indikerar korrekt konfiguration genom vidarebefordran av e-post.
  • Vidarebefordra e-postloggarKontrollera loggarna för instrumentpanelen för vidarebefordran av e-post om du misstänker att leveransproblem kommer från SMTP-servern.

  • MallarListmonk använder Gos mallmotor. Utforska dess dokumentation för avancerad anpassning: {{ .Subscriber.Attribs.your_custom_field }}.
  • APIListmonk tillhandahåller ett omfattande REST API för att hantera listor, prenumeranter, kampanjer, mallar och mer. Hitta länken till API-dokumentationen i sidfoten på din Listmonk-instans.
  • Anpassade fältDefiniera anpassade prenumerantfält under Inställningar -> Prenumerantfält för att lagra ytterligare data.
  • WebhooksFörutom avvisningar kan Listmonk skicka webhooks för andra händelser (t.ex. prenumerationer), vilket möjliggör integration med andra system.

Genom att integrera Listmonks självhostade kraft med den säkra, integritetsskyddande leveransen av Forward Email skapar du en robust och etisk e-postmarknadsföringsplattform. Du behåller fullt ägande av din publikdata samtidigt som du drar nytta av hög leveransbarhet och automatiserade säkerhetsfunktioner.

Denna uppsättning erbjuder ett skalbart, kostnadseffektivt och utvecklarvänligt alternativ till proprietära e-posttjänster, vilket perfekt överensstämmer med principerna om öppen källkodsprogramvara och användarnas integritet.

Lycka till med sändningen! 🚀