Listmonk con Forward Email per la Consegna Sicura delle Newsletter
Panoramica
Questa guida fornisce agli sviluppatori istruzioni passo-passo per configurare Listmonk, un potente gestore open-source di newsletter e mailing list, per utilizzare Forward Email come provider SMTP. Questa combinazione ti permette di gestire efficacemente le tue campagne garantendo una consegna email sicura, privata e affidabile.
- Listmonk: Gestisce la gestione degli iscritti, l’organizzazione delle liste, la creazione delle campagne e il monitoraggio delle prestazioni.
- Forward Email: Funziona come server SMTP sicuro, gestendo l’invio effettivo delle email con funzionalità di sicurezza integrate come SPF, DKIM, DMARC e crittografia TLS.
Integrando questi due, mantieni il pieno controllo sui tuoi dati e infrastruttura sfruttando il robusto sistema di consegna di Forward Email.
Perché Listmonk e Forward Email
- Open Source: Sia Listmonk che i principi alla base di Forward Email enfatizzano trasparenza e controllo. Ospiti Listmonk autonomamente, possedendo i tuoi dati.
- Focalizzato sulla Privacy: Forward Email è costruito con la privacy al centro, minimizzando la conservazione dei dati e concentrandosi sulla trasmissione sicura.
- Economico: Listmonk è gratuito, e Forward Email offre piani gratuiti generosi e piani a pagamento accessibili, rendendo questa una soluzione economica.
- Scalabilità: Listmonk è altamente performante, e l’infrastruttura di Forward Email è progettata per una consegna affidabile su larga scala.
- Amichevole per gli Sviluppatori: Listmonk offre una API robusta, e Forward Email fornisce un’integrazione SMTP semplice e webhook.
Prerequisiti
Prima di iniziare, assicurati di avere quanto segue:
- Un Virtual Private Server (VPS) con una distribuzione Linux recente (consigliato Ubuntu 20.04+) con almeno 1 CPU e 1GB di RAM (consigliati 2GB).
- Hai bisogno di un provider? Dai un’occhiata alla lista VPS consigliata.
- Un nome di dominio che controlli (accesso DNS richiesto).
- Un account attivo con Forward Email.
- Accesso root o
sudoal tuo VPS. - Familiarità di base con operazioni da linea di comando Linux.
Installazione
Questi passaggi ti guidano nell’installazione di Listmonk usando Docker e Docker Compose sul tuo VPS.
1. Aggiorna il tuo Server
Assicurati che la lista dei pacchetti del sistema e i pacchetti installati siano aggiornati.
sudo apt update && sudo apt upgrade -y
2. Installa le Dipendenze
Installa Docker, Docker Compose e UFW (Uncomplicated Firewall).
sudo apt install -y docker.io docker-compose ufw
3. Scarica la Configurazione di Listmonk
Crea una directory per Listmonk e scarica il file ufficiale docker-compose.yml.
mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml
Questo file definisce il container dell’applicazione Listmonk e il container del database PostgreSQL richiesto.
4. Configura il Firewall (UFW)
Consenti il traffico essenziale (SSH, HTTP, HTTPS) attraverso il firewall. Se il tuo SSH utilizza una porta non standard, adattala di conseguenza.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Conferma l'attivazione del firewall quando richiesto.
5. Configura l’Accesso HTTPS
Eseguire Listmonk tramite HTTPS è fondamentale per la sicurezza. Hai due opzioni principali:
Opzione A: Usare il Proxy di Cloudflare (Consigliato per Semplicità)
Se il DNS del tuo dominio è gestito da Cloudflare, puoi sfruttare la loro funzione proxy per un HTTPS semplice.
- Punta il DNS: Crea un record
Ain Cloudflare per il tuo sottodominio Listmonk (es.listmonk.tuodominio.com) che punti all’indirizzo IP del tuo VPS. Assicurati che lo Stato Proxy sia impostato su Proxied (nuvola arancione). - Modifica Docker Compose: Modifica il file
docker-compose.ymlche hai scaricato:Questo rende Listmonk accessibile internamente sulla porta 80, che Cloudflare potrà quindi proxyare e proteggere con HTTPS.sed -i 's/9000:9000/80:9000/' docker-compose.yml
Opzione B: Usare un Reverse Proxy (Nginx, Caddy, ecc.)
In alternativa, puoi configurare un reverse proxy come Nginx o Caddy sul tuo VPS per gestire la terminazione HTTPS e inoltrare le richieste a Listmonk (che di default gira sulla porta 9000).
- Mantieni il valore predefinito
ports: - "127.0.0.1:9000:9000"indocker-compose.ymlper assicurarti che Listmonk sia accessibile solo localmente. - Configura il reverse proxy scelto per ascoltare sulle porte 80 e 443, gestire l’acquisizione del certificato SSL (es. tramite Let’s Encrypt) e inoltrare il traffico a
http://127.0.0.1:9000. - La configurazione dettagliata del reverse proxy esula da questa guida, ma sono disponibili molti tutorial online.
6. Avvia Listmonk
Torna nella directory listmonk (se non sei già lì) e avvia i container in modalità detached.
cd ~/listmonk # O la directory dove hai salvato docker-compose.yml
docker compose up -d
Docker scaricherà le immagini necessarie e avvierà i container dell’applicazione Listmonk e del database. Potrebbe impiegare un minuto o due la prima volta.
✅ Accedi a Listmonk: Ora dovresti poter accedere all’interfaccia web di Listmonk tramite il dominio che hai configurato (es. https://listmonk.tuodominio.com).
7. Configura Forward Email SMTP in Listmonk
Successivamente, configura Listmonk per inviare email usando il tuo account Forward Email.
- Abilita SMTP in Forward Email: Assicurati di aver generato le credenziali SMTP all’interno della dashboard del tuo account Forward Email. Segui la guida Forward Email per inviare email con un dominio personalizzato via SMTP se non l’hai già fatto.
- Configura Listmonk: Accedi al pannello di amministrazione di Listmonk.
-
Vai su Impostazioni -> SMTP.
-
Listmonk supporta nativamente Forward Email. Seleziona ForwardEmail dalla lista dei provider, oppure inserisci manualmente i seguenti dati:
Impostazione Valore Host smtp.forwardemail.netPorta 465Protocollo Auth LOGINUsername Il tuo username SMTP di Forward Email Password La tua password SMTP di Forward Email TLS SSL/TLSEmail mittente L’indirizzo Fromdesiderato (es.newsletter@tuodominio.com). Assicurati che questo dominio sia configurato in Forward Email.
-
-
Importante: Usa sempre la Porta
465conSSL/TLSper connessioni sicure con Forward Email (consigliato). La porta587con STARTTLS è anch'essa supportata, ma SSL/TLS è preferito.- Clicca su Salva.
- Invia Email di Test: Usa il pulsante "Invia Email di Test" nella pagina delle impostazioni SMTP. Inserisci un indirizzo destinatario a cui hai accesso e clicca su Invia. Verifica che l'email arrivi nella casella di posta del destinatario.
8. Configurare l'elaborazione dei rimbalzi
L'elaborazione dei rimbalzi permette a Listmonk di gestire automaticamente le email che non sono state consegnate (ad esempio, a causa di indirizzi non validi). Forward Email fornisce un webhook per notificare a Listmonk i rimbalzi.
Configurazione di Forward Email
- Accedi al tuo Pannello di Controllo Forward Email.
- Vai su Domains, seleziona il dominio che stai usando per l'invio e accedi alla sua pagina Settings.
- Scorri fino alla sezione Bounce Webhook URL.
- Inserisci il seguente URL, sostituendo
<your_listmonk_domain>con il dominio o sottodominio reale dove è accessibile la tua istanza di Listmonk:
Esempio:https://<your_listmonk_domain>/webhooks/service/forwardemailhttps://listmonk.yourdomain.com/webhooks/service/forwardemail - Scorri ancora fino alla sezione Webhook Signature Payload Verification Key.
- Copia la chiave di verifica generata. Ti servirà in Listmonk.
- Salva le modifiche nelle impostazioni del dominio su Forward Email.
Configurazione di Listmonk
- Nel pannello di amministrazione di Listmonk, vai su Settings -> Bounces.
- Abilita Enable bounce processing.
- Abilita Enable bounce webhooks.
- Scorri fino alla sezione Webhook Providers.
- Abilita Forward Email.
- Incolla la Webhook Signature Payload Verification Key copiata dal pannello di Forward Email nel campo Forward Email Key.
- Clicca su Save in fondo alla pagina.
- L'elaborazione dei rimbalzi è ora configurata! Quando Forward Email rileva un rimbalzo per un'email inviata da Listmonk, notificherà la tua istanza di Listmonk tramite il webhook, e Listmonk segnerà il contatto di conseguenza.
- Completa i passaggi seguenti in Testing per assicurarti che tutto funzioni correttamente.
Testing
Ecco una panoramica rapida delle funzioni principali di Listmonk:
Crea una Mailing List
- Vai su Lists nella barra laterale.
- Clicca su New List.
- Compila i dettagli (Nome, Tipo: Pubblico/Privato, Descrizione, Tag) e Salva.
Aggiungi Iscritti
- Naviga alla sezione Subscribers.
- Puoi aggiungere iscritti:
- Manuale: Clicca su New Subscriber.
- Importa: Clicca su Import Subscribers per caricare un file CSV.
- API: Usa l'API di Listmonk per aggiunte programmatiche.
- Assegna gli iscritti a una o più liste durante la creazione o l'importazione.
- Buona Pratica: Usa un processo di doppio opt-in. Configuralo sotto Settings -> Opt-in & Subscriptions.
Crea e Invia una Campagna
- Vai su Campaigns -> New Campaign.
- Compila i dettagli della campagna (Nome, Oggetto, Email Mittente, Lista/e a cui inviare).
- Scegli il tipo di contenuto (Rich Text/HTML, Plain Text, Raw HTML).
- Componi il contenuto della tua email. Puoi usare variabili template come
{{ .Subscriber.Email }}o{{ .Subscriber.FirstName }}. - Invia sempre prima un'email di test! Usa l'opzione "Send Test" per visualizzare l'email nella tua casella.
- Quando sei soddisfatto, clicca su Start Campaign per inviare immediatamente o programmarla per dopo.
Verifica
- Consegna SMTP: Invia regolarmente email di test tramite la pagina delle impostazioni SMTP di Listmonk e campagne di prova per assicurarti che le email vengano consegnate correttamente.
- Gestione Rimbalzi: Invia una campagna di test a un indirizzo email noto non valido (ad esempio,
bounce-test@yourdomain.comse non ne hai uno reale a disposizione, anche se i risultati possono variare). Controlla le statistiche della campagna in Listmonk dopo poco per vedere se il rimbalzo è stato registrato. - Intestazioni Email: Usa strumenti come Mail-Tester o ispeziona manualmente le intestazioni delle email per verificare che SPF, DKIM e DMARC siano superati, indicando una corretta configurazione tramite Forward Email.
- Log di Forward Email: Controlla i log nel pannello di Forward Email se sospetti problemi di consegna originati dal server SMTP.
Note per gli Sviluppatori
- Templating: Listmonk utilizza il motore di templating di Go. Esplora la sua documentazione per una personalizzazione avanzata:
{{ .Subscriber.Attribs.your_custom_field }}. - API: Listmonk offre una completa API REST per gestire liste, iscritti, campagne, template e altro. Trova il link alla documentazione API nel footer della tua istanza di Listmonk.
- Campi Personalizzati: Definisci campi personalizzati per gli iscritti sotto Impostazioni -> Campi Iscritti per memorizzare dati aggiuntivi.
- Webhooks: Oltre ai rimbalzi, Listmonk può inviare webhooks per altri eventi (es. iscrizioni), permettendo l’integrazione con altri sistemi.
Conclusione
Integrando la potenza self-hosted di Listmonk con la consegna sicura e rispettosa della privacy di Forward Email, crei una piattaforma di email marketing robusta ed etica. Mantieni la piena proprietà dei dati del tuo pubblico beneficiando di alta deliverability e funzionalità di sicurezza automatizzate.
Questa configurazione offre un’alternativa scalabile, economica e amichevole per gli sviluppatori ai servizi email proprietari, allineandosi perfettamente con l’etica del software open-source e della privacy degli utenti.
Buona Invio! 🚀