Listmonk con inoltro e-mail per la consegna sicura delle newsletter
Panoramica
Questa guida fornisce agli sviluppatori istruzioni dettagliate per la configurazione Listmonk, un potente gestore di newsletter e mailing list open source, da utilizzare Inoltra email come provider SMTP. Questa combinazione ti consente di gestire le tue campagne in modo efficace, garantendo al contempo un recapito email sicuro, privato e affidabile.
- Listmonk: Gestisce gli abbonati, l'organizzazione degli elenchi, la creazione delle campagne e il monitoraggio delle prestazioni.
- Inoltra email: Agisce come server SMTP sicuro, gestendo l'invio effettivo delle e-mail con funzionalità di sicurezza integrate come la crittografia SPF, DKIM, DMARC e TLS.
Integrando questi due elementi, manterrai il controllo totale sui tuoi dati e sulla tua infrastruttura, sfruttando al contempo il solido sistema di distribuzione di Forward Email.
Perché Listmonk e Forward Email
- Sorgente aperta: Sia Listmonk che i principi alla base di Forward Email enfatizzano la trasparenza e il controllo. Sei tu ad ospitare Listmonk, e i tuoi dati sono di tua proprietà.
- Incentrato sulla privacy: Forward Email è progettato tenendo conto della privacy, riducendo al minimo la conservazione dei dati e concentrandosi sulla trasmissione sicura.
- Conveniente:Listmonk è gratuito e Forward Email offre generosi livelli gratuiti e convenienti piani a pagamento, rendendo questa una soluzione conveniente.
- Scalabilità: Listmonk è altamente performante e l'infrastruttura di Forward Email è progettata per una distribuzione affidabile su larga scala.
- Adatto agli sviluppatori:Listmonk offre una solida API, mentre Forward Email fornisce una semplice integrazione SMTP e webhook.
Prerequisiti
Prima di iniziare, assicurati di avere quanto segue:
- Un server privato virtuale (VPS) che esegue una distribuzione Linux recente (consigliata Ubuntu 20.04+) con almeno 1 CPU e 1 GB di RAM (consigliati 2 GB).
- Hai bisogno di un fornitore? Dai un'occhiata a elenco VPS consigliati.
- Un nome di dominio sotto il tuo controllo (è richiesto l'accesso DNS).
- Un account attivo con Inoltra email.
- Radice o
sudo
accesso al tuo VPS. - Conoscenza di base delle operazioni da riga di comando di Linux.
Installazione
Questi passaggi ti guideranno nell'installazione di Listmonk tramite Docker e Docker Compose sul tuo VPS.
1. Aggiorna il tuo server
Assicurati che l'elenco dei pacchetti del sistema e i pacchetti installati siano aggiornati.
sudo apt update && sudo apt upgrade -y
2. Installare 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 la versione ufficiale docker-compose.yml
file.
mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml
Questo file definisce il contenitore dell'applicazione Listmonk e il relativo contenitore del database PostgreSQL richiesto.
4. Configurare il firewall (UFW)
Consenti il traffico essenziale (SSH, HTTP, HTTPS) attraverso il firewall. Se il tuo SSH funziona su una porta non standard, regola di conseguenza.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Quando richiesto, confermare l'attivazione del firewall.
5. Configurare l'accesso HTTPS
Eseguire Listmonk su HTTPS è fondamentale per la sicurezza. Hai due opzioni principali:
Opzione A: utilizzo del proxy Cloudflare (consigliato per semplicità)
Se il DNS del tuo dominio è gestito da Cloudflare, puoi sfruttare la loro funzionalità proxy per un HTTPS semplice.
- Punto DNS: Crea un
A
registra in Cloudflare per il tuo sottodominio Listmonk (ad esempio,listmonk.yourdomain.com
) che punta all'indirizzo IP del tuo VPS. Assicurati che Stato del proxy è impostato su Delegato (nuvola arancione). - Modifica Docker Compose: Modifica il
docker-compose.yml
file che hai scaricato:
In questo modo Listmonk è accessibile internamente sulla porta 80, che Cloudflare può quindi utilizzare come proxy e proteggere tramite HTTPS.sed -i 's/9000:9000/80:9000/' docker-compose.yml
Opzione B: utilizzo di un proxy inverso (Nginx, Caddy, ecc.)
In alternativa, puoi impostare un proxy inverso come Nginx o Caddy sul tuo VPS per gestire la terminazione HTTPS e le richieste proxy a Listmonk (in esecuzione sulla porta 9000 per impostazione predefinita).
- Mantieni l'impostazione predefinita
ports: - "127.0.0.1:9000:9000"
Indocker-compose.yml
per garantire che Listmonk sia accessibile solo localmente. - Configura il proxy inverso scelto per ascoltare sulle porte 80 e 443, gestire l'acquisizione del certificato SSL (ad esempio tramite Let's Encrypt) e inoltrare il traffico a
http://127.0.0.1:9000
. - La configurazione dettagliata del proxy inverso va oltre lo scopo di questa guida, ma online sono disponibili molti tutorial.
6. Avvia Listmonk
Torna al tuo listmonk
directory (se non ci sei già) e avvia i contenitori in modalità distaccata.
cd ~/listmonk # Or the directory where you saved docker-compose.yml
docker compose up -d
Docker scaricherà le immagini necessarie e avvierà l'applicazione Listmonk e i contenitori del database. La prima volta, l'operazione potrebbe richiedere uno o due minuti.
✅ Accesso a Listmonk: Ora dovresti essere in grado di accedere all'interfaccia web di Listmonk tramite il dominio configurato (ad esempio, https://listmonk.yourdomain.com
).
7. Configurare l'inoltro email SMTP in Listmonk
Successivamente, configura Listmonk per inviare email tramite il tuo account Forward Email.
- Abilita SMTP nell'inoltro email: Assicurati di aver generato le credenziali SMTP nella dashboard del tuo account di posta elettronica di inoltro. Segui le istruzioni Guida all'inoltro e-mail per inviare e-mail con un dominio personalizzato tramite SMTP se non l'hai già fatto.
- Configurare Listmonk: Accedi al pannello di amministrazione di Listmonk.
-
Vai a Impostazioni -> SMTP.
-
Listmonk ha un supporto integrato per l'inoltro di email. Seleziona InoltraEmail dall'elenco dei provider oppure inserisci manualmente i seguenti dettagli:
Collocamento Valore Ospite smtp.forwardemail.net
Porta 465
Protocollo di autorizzazione LOGIN
Nome utente La tua email di inoltro Nome utente SMTP Parola d'ordine La tua email di inoltro Password dell'SMTP TLS SSL/TLS
Da e-mail Il tuo desiderato From
indirizzo (ad esempio,newsletter@yourdomain.com
). Assicurarsi che questo dominio sia configurato in Inoltra email. -
Importante: Usa sempre la porta
465
insieme aSSL/TLS
Per connessioni sicure con Inoltra Email. Non utilizzare STARTTLS (porta 587). -
Clic Salva.
-
- Invia email di prova: Utilizza il pulsante "Invia e-mail di prova" nella pagina delle impostazioni SMTP. Inserisci un indirizzo di destinatario a cui puoi accedere e clicca InviareVerificare che l'email arrivi nella posta in arrivo del destinatario.
8. Configurare l'elaborazione dei rimbalzi
L'elaborazione dei bounce consente a Listmonk di gestire automaticamente le email che non sono state recapitate (ad esempio, a causa di indirizzi non validi). Inoltra email fornisce un webhook per notificare a Listmonk i bounce.
Configurazione inoltro e-mail
- Accedi al tuo Dashboard di inoltro e-mail.
- Vai a domini, seleziona il dominio che stai utilizzando per l'invio e vai al suo Impostazioni pagina.
- Scorri verso il basso fino a URL del webhook di rimbalzo sezione.
- Inserisci il seguente URL, sostituendo
<your_listmonk_domain>
con il dominio o sottodominio effettivo in cui è accessibile la tua istanza di Listmonk:
Esempio:https://<your_listmonk_domain>/webhooks/service/forwardemail
https://listmonk.yourdomain.com/webhooks/service/forwardemail
- Scorri ulteriormente verso il basso fino a Chiave di verifica del payload della firma del webhook sezione.
- copia la chiave di verifica generata. Ti servirà in Listmonk.
- Salva le modifiche nelle impostazioni del dominio Inoltra email.
Configurazione di Listmonk
- Nel pannello di amministrazione di Listmonk, vai a Impostazioni -> Rimbalzi.
- Abilitare Abilita l'elaborazione del rimbalzo.
- Abilitare Abilita webhook di rimbalzo.
- Scorri verso il basso fino a Fornitori di webhook sezione.
- Abilitare Inoltra email.
- Incolla il Chiave di verifica del payload della firma del webhook hai copiato dalla dashboard Inoltra email in Tasto Inoltra e-mail campo.
- Clic Salva in fondo alla pagina.
- L'elaborazione dei bounce è ora configurata! Quando Forward Email rileva un bounce per un'email inviata da Listmonk, ne informerà l'istanza di Listmonk tramite il webhook e Listmonk contrassegnerà l'abbonato di conseguenza.
- Completare i passaggi sottostanti in Prova per assicurarsi che tutto funzioni.
Prova
Ecco una rapida panoramica delle funzioni principali di Listmonk:
Crea una mailing list
- Vai a Liste nella barra laterale.
- Clic Nuovo elenco.
- Compila i dettagli (Nome, Tipo: Pubblico/Privato, Descrizione, Tag) e Salva.
Aggiungi abbonati
- Vai a Abbonati sezione.
- Puoi aggiungere abbonati:
- Manualmente: Clicca Nuovo abbonato.
- Importare: Clicca Importa abbonati per caricare un file CSV.
- API: Utilizza l'API Listmonk per aggiunte programmatiche.
- Assegnare gli abbonati a uno o più elenchi durante la creazione o l'importazione.
- Migliori pratiche: Utilizza un processo di doppia adesione. Configuralo in Impostazioni -> Iscrizione e abbonamenti.
Crea e invia una campagna
- Vai a Campagne -> Nuova campagna.
- Inserisci i dettagli della campagna (nome, oggetto, e-mail del mittente, elenco/i a cui inviare).
- Scegli il tipo di contenuto (Rich Text/HTML, Testo normale, Raw HTML).
- Componi il contenuto della tua email. Puoi usare variabili modello come
{{ .Subscriber.Email }}
o{{ .Subscriber.FirstName }}
. - Invia sempre prima un'e-mail di prova! Utilizza l'opzione "Invia prova" per visualizzare in anteprima l'e-mail nella posta in arrivo.
- Una volta soddisfatto, clicca Avvia campagna per inviarlo immediatamente o programmarlo per dopo.
Verifica
- Consegna SMTP: Invia regolarmente email di prova tramite la pagina delle impostazioni SMTP di Listmonk e testa le campagne per assicurarti che le email vengano recapitate correttamente.
- Gestione del rimbalzo: Invia una campagna di prova a un indirizzo email non valido noto (ad esempio,
bounce-test@yourdomain.com
(se non ne hai uno reale a portata di mano, anche se i risultati possono variare). Dopo un po' controlla le statistiche della campagna in Listmonk per vedere se il rimbalzo è stato registrato. - Intestazioni e-mail: Usa strumenti come Tester di posta oppure ispezionare manualmente le intestazioni delle email per verificare che SPF, DKIM e DMARC vengano superati, il che indica la corretta configurazione tramite Inoltra email.
- Inoltra registri e-mail: Controlla i registri della dashboard di Inoltra email se sospetti che ci siano problemi di recapito originati dal server SMTP.
Note per gli sviluppatori
- Creazione di modelli: Listmonk utilizza il motore di template di Go. Esplora la sua documentazione per una personalizzazione avanzata:
{{ .Subscriber.Attribs.your_custom_field }}
. - API: Listmonk fornisce un'API REST completa per la gestione di liste, iscritti, campagne, modelli e altro ancora. Trova il link alla documentazione dell'API nel piè di pagina della tua istanza di Listmonk.
- Campi personalizzati: Definisci campi di abbonato personalizzati in Impostazioni -> Campi dell'abbonato per memorizzare dati aggiuntivi.
- Webhook:Oltre ai bounce, Listmonk può inviare webhook per altri eventi (ad esempio, abbonamenti), consentendo 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 solida ed etica. Mantieni la piena proprietà dei dati del tuo pubblico, beneficiando al contempo di un'elevata deliverability e di funzionalità di sicurezza automatizzate.
Questa configurazione fornisce un'alternativa scalabile, conveniente e di facile utilizzo per gli sviluppatori ai servizi di posta elettronica proprietari, allineandosi perfettamente con la filosofia del software open source e con la privacy degli utenti.
Buon invio! 🚀