come gestire le MAILING LIST
Come gestire le mailing list con lungimiranza nel 2021 ?
-
Prima di tutto: perché utilizzare un gestore di mailing list?
I sistemi CRM (come Salesforce e Microsoft CRM)
e le email aziendali (come Office 365 e Google Apps Gmail)
non sono adatti per gli invii di massa.
Sono stati creati per comunicazioni uno-a-uno
e spesso per evitare abusi impongono limiti di invio giornalieri.
Molte volte le aziende devono inviare email
a buona parte dei loro contatti o ad alcuni gruppi selezionati.
Gli invii massivi devono essere gestiti con sistemi dedicati,
in grado di elaborare grandi quantità di messaggi e le cancellazioni automatiche.
È qui che vengono in aiuto i gestori di mailing list. -
Secondo passo: dove cercare queste soluzioni?
La risposta più semplice è guardare alle offerte “Saas” - Software as a service
(Mailchimp è il sistema più famoso, Inxmail è meno conosciuto, viene utilizzato dalle grandi imprese).
L’installazione locale rispetto ai servizi cloud è sempre una scelta importante.
La nostra riflessione è che l’opzione locale aiuta a
“riprendere il controllo della posta elettronica”, di cui siamo promotori.
Anche se si decide di utilizzare un’applicazione installata in autonomia nel cloud,
questo permette di cambiare facilmente fornitore, mantenendo la stessa soluzione. -
Vale la pena menzionare tre di queste soluzioni:
- Sendy è un sistema maturo ma “closed source” (codice nascosto) e a pagamento.
- Listmonk è open source. La prima versione è stata rilasciata nel 2021. È stato sviluppato in Go,
si presenta come un file binario autonomo e dipende unicamente da un database Postgres. Su GitHub ha 5.4k stelle
- Anche Mailtrain è open source. La prima versione è stata rilasciata nel 2016, la versione 2 nel 2021.
Utilizza un database MySQL. Su GitHub ha 4.8k stelle
Alla ricerca di un’interfaccia pulita, una soluzione centrata sulle liste, facile da manutenere
e facile da ripristinare in caso di problemi, abbiamo considerato listmonk come la scelta migliore.
listmonk è un gestore di mailing list e newsletter da installare ad alte prestazioni.
Viene fornito come file binario autonomo e l'unica dipendenza è un database Postgres.
#### Primi passi dell'applicazione
Questo è l’annuncio originale su Hacker News:
knadh on July 12, 2019 [–]
Qui parla l'autore. Per fornire un contesto sul motivo per cui è stato costruito listmonk, al lavoro (attività finanziaria regolamentata),
dobbiamo consegnare regolarmente email, per lo più aggiornamenti importanti, a più di 1,5 milioni di clienti.
Abbiamo usato phpList per molto tempo e poi abbiamo provato MailTrain e Sendy prima di decidere finalmente di reinventare la ruota
dopo aver incontrato una serie di problemi, di cui alcuni importanti sono menzionati di seguito.
- Prestazioni. Tempi irragionevolmente lunghi per inviare le email.
phpList è degradato al punto da richiedere diversi giorni per elaborare una campagna.
listmonk può generare N goroutine (~thread) e inviare email a più server SMTP.
Su un'istanza standard ec2, siamo in grado di inviare 1,5 milioni di email in un paio d'ore.
- Le importazioni di iscritti sono state estremamente lente. L'integrazione diretta
per mantenere sincronizzati gli iscritti con i CRM esterni era complicata.
Gli inserimenti diretti nel database erano complicati a causa delle complesse strutture delle tabelle.
listmonk importa 10k record/secondo in un DB Postgres su un'istanza standard ec2.
- Segmentazione. Spesso dobbiamo selezionare rapidamente gli utenti per attributi e condizioni particolari
ed inviare loro un aggiornamento. listmonk supporta le espressioni SQL per estrarre gli iscritti
in base ai loro attributi definiti come mappe JSON arbitrarie (grazie al tipo JSONB di Postgres).
- Mancanza di template dinamici. I template di listmonk supportano le espressioni dei template Go
quindi è possibile scrivere la stessa logica nei messaggi per renderli dinamici.
Kailash Nadh è uno sviluppatore molto attivo in ambito FOSS (Free and Open Source Software).
Lavora presso Zerodha, il più grande broker di borsa dell’India.
Il blog dello staff tecnico di Zerodha è pubblicato su zerodha.tech.
#### I dettagli
Listmonk è ben documentato sia per l’utilizzo standard (tramite interfaccia web) che per sviluppatori (tramite API).
La soluzione è adatta per grandi liste (fino a milioni di iscritti) ed anche per piccoli gruppi.
Grazie alla funzione Query e segmentazione degli iscritti,
consente di interrogare ed esportare una selezione di iscritti in base ai loro profili ed attributi.
I dati estratti possono essere facilmente importati in una nuova mailing list.
Manca di alcune funzionalità importanti come la gestione delle mail respinte (bounce).
Ma dovrebbe essere disponibile nella prossima release principale:
Gestione dei bounce #166
Anteprima screenshot gestione dei bounce
#### Considerazioni tecniche
Abbiamo utilizzato un’altra applicazione Go in passato: RealSender - DMARC REPORTS.
Sorgente: dmarc-report-converter. Ha funzionato immediatamente senza problemi.
"Il sistema di gestione di database PostgreSQL con oltre due decenni di sviluppo alle spalle,
è ora il database open source più avanzato disponibile ovunque."
-- A Brief History of PostgreSQL - https://www.postgresql.org/docs/9.3/history.html
Ne abbiamo avuto una piccola esperienza lavorando in passato con l’installazione del server Inxmail Professional.
Nel 2017 Inxmail GmbH ha annunciato che supporterà solo PostgreSQL, eliminando tutti gli altri DB:
Dal 1° gennaio 2019, ci concentreremo sulla base tecnica ottimale e interromperemo il supporto
per server Windows e database MySQL, Oracle e MS SQL Server.
Ciò significa che offriremo solo supporto per Inxmail Professional basato su server Linux e PostgreSQL.
-- Inxmail Professional licence solution: Changes to our system support
https://www.inxmail.de/files/files/de/downloads/Inxmail-Professional-licence-solution-EN.pdf
E’ certamente una buona scelta ed un investimento in conoscenze preziose per i neofiti.
I corsi online di Udemy possono aiutare con la prima installazione e la manutenzione di PostgreSQL.
L’open source ha dei rischi: un progetto recente, che è stato lanciato nel 2019, verrà mantenuto in futuro?
Nessuno lo sa, magari nel peggiore dei casi se ne farà carico qualche altro sviluppatore, ma:
- sembra essenziale nelle caratteristiche, se troppo complesso diventa difficile da mantenere
- abbiamo inviato una segnalazione di bug per listmonk e abbiamo ricevuto una risposta dallo sviluppatore entro due ore
- l’autore lavora in una grande azienda che lo utilizza internamente
#### Email deliverability
Email Deliverability, domanda e risposta:
hemancuso on July 12, 2019 [–]
Progetti come questo sembrano una grande idea, ma la deliverability è una grande preoccupazione
questo è difficile da misurare a meno che tu non abbia una ragionevole quantità di esperienza.
Quali sono le migliori pratiche per l'utilizzo/selezione di un ESP
se dovessi utilizzare un progetto come questo e desideri garantire una deliverability ragionevole?
knadh on July 12, 2019 [–]
Qui parla l'autore. Abbiamo utilizzato listmonk in produzione presso la nostra azienda (attività finanziaria regolamentata)
per fornire aggiornamenti via e-mail inclusi quelli normativi per oltre 6 mesi.
Ospitiamo le nostre istanze SMTP utilizzando Postal su istanze EC2 e non abbiamo mai avuto problemi con la consegna.
Se è un'email legittima, non credo che sia un grosso problema.
Siamo d’accordo che l’invio di comunicazioni attese dai clienti dovrebbe aiutare ad evitare la maggior parte dei problemi di consegna.
Nella nostra esperienza, più grandi sono i numeri, più facilmente ci saranno inconvenienti.
I server AWS EC2 sono spesso inseriti nella blacklist di Gmail: tutti i messaggi inviati vengono recapitati nella cartella Spam.
RealSender offre server smtp con ip dedicato,
che funzionano in un ambiente affidabile e costantemente monitorato.
#### Circa il nome
goberoi on July 13, 2019 [–]
Domanda totalmente casuale: come hai scelto il nome?
knadh on July 13, 2019 [–]
Non riesco a ricordare bene, ma penso che il processo di pensiero sia stato sulla falsariga di
"gestione delle liste senza problemi e tranquilla".
#### Proviamolo
È possibile ottenere un’installazione demo funzionante in pochi minuti utilizzando l’immagine docker.
In alternativa chiedete a RealSender un account demo listmonk.