Questo tutorial ti mostrerà come installare Mailtrain su Ubuntu 18.04 senza Docker. Mailtrain è un'app di newsletter self-hosted open source, un'alternativa ai fornitori di servizi di posta elettronica commerciali come Mailchimp. Puoi utilizzare Mailtrain per inviare e-mail ai tuoi abbonati e-mail tramite il tuo server di posta elettronica o utilizzando qualsiasi servizio di inoltro SMTP (Mailjet, SendGrid, AmazonSES, Mailgun, ecc.).
Mailtrain è rilasciato secondo i termini della licenza GPL v3.0, basata su Node.js e MySQL/MariaDB. L'ultima versione è la v1.24.1, rilasciata il 28 settembre 2018. Le caratteristiche di Mailtrain sono le seguenti:
- Ti permette di gestire facilmente mailing list di grandi dimensioni (come 1 milione di iscritti).
- Puoi aggiungere abbonati manualmente, tramite l'API, o importarli da un file CSV.
- Supporta campi personalizzati (campi di testo, numeri, menu a discesa o caselle di controllo), unisci tag e moduli personalizzati.
- Segmentazione dell'elenco.
- Campagna RSS:genera automaticamente la newsletter dal feed RSS e inviala agli iscritti.
- Gli abbonati possono caricare le loro chiavi pubbliche GPG e Mailtrain crittograferà la newsletter per loro.
- Ti permette di controllare le statistiche sui clic individuali per ogni link.
- Editor avanzati di modelli di email e editor di codice HTML.
- Automazione:invia email specifiche quando l'utente attiva il tuo trigger predefinito.
- Puoi creare un elenco di e-mail aperto (consenti l'iscrizione pubblica) e un elenco di e-mail chiuso (gli iscritti vengono aggiunti all'elenco dall'amministratore).
- Ti permette di riprendere le vecchie campagne email (invia le vecchie campagne ai nuovi iscritti).
Prerequisiti
Per eseguire Mailtrain, è necessario un server con almeno 1 GB di RAM. Puoi fare clic su questo link speciale per ottenere $ 50 di credito gratuito su DigitalOcean. (Solo per nuovi utenti). Se sei già un utente DigitalOcean, puoi fare clic su questo link speciale per ottenere $ 50 di credito gratuito su Vultr (solo per i nuovi utenti). Una volta che hai un account su DigitalOcean o Vultr, installa Ubuntu 18.04 sul tuo server e segui le istruzioni seguenti.
Devi anche avere un nome di dominio. Ho registrato il mio nome di dominio da NameCheap perché il prezzo è basso e offrono gratuitamente la protezione della privacy di Whois.
Installa Mailtrain su Ubuntu 18.04 senza Docker
In un tutorial precedente, ho spiegato come installare Mailtrain utilizzando Docker. Docker è ottimo per le persone che vogliono far funzionare rapidamente un'applicazione, ma è anche molto affamato di risorse. Su un VPS con 1 GB di RAM su cui è installato Mailtrain tramite Docker, il contenitore MySQL si spegne spesso perché la RAM si sta esaurendo. Quindi ti mostrerò un modo compatibile con la RAM per installare Mailtrain su Ubuntu 18.04, che può far risparmiare circa 400 MB di RAM.
Nota:Mailtrain fornisce uno script di installazione, ma potrebbe essere obsoleto e probabilmente si verificheranno errori durante l'esecuzione dello script di installazione. Questo tutorial spiega ogni passaggio in modo che tu possa capire come funziona e installarlo.
Passaggio 1:installa il server di database MariaDB
I dati dei tuoi iscritti verranno archiviati in un database. Mailtrain supporta MySQL e MariaDB. MariaDB è un sostituto drop-in di MySQL. È stato sviluppato da ex membri del team MySQL preoccupati che Oracle possa trasformare MySQL in un prodotto closed-source. Quindi installiamo il server del database MariaDB.
Immettere il seguente comando per installarlo su Ubuntu 18.04.
sudo apt install mariadb-server mariadb-client
Dopo l'installazione, il server MariaDB dovrebbe essere avviato automaticamente. Usa systemctl per verificarne lo stato.
systemctl status mariadb
Esempio di output:
● mariadb.service - MariaDB 10.1.34 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-09-08 11:13:27 UTC; 21s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 3473 (mysqld) Status: "Taking your SQL requests now..." Tasks: 27 (limit: 505) CGroup: /system.slice/mariadb.service └─3473 /usr/sbin/mysqld
Se non è in esecuzione, avvialo con questo comando:
sudo systemctl start mariadb
Per consentire a MariaDB di avviarsi automaticamente all'avvio del sistema, esegui
sudo systemctl enable mariadb
Ora esegui lo script di sicurezza post installazione.
sudo mysql_secure_installation
Quando ti chiede di inserire la password di root di MariaDB, premi il tasto Invio poiché la password di root non è ancora impostata. Quindi inserisci y
per impostare la password di root per il server MariaDB.
Successivamente, puoi premere Invio per rispondere a tutte le domande rimanenti, che rimuoveranno l'utente anonimo, disabiliteranno l'accesso root remoto e rimuoveranno il database di test. Questo passaggio è un requisito di base per la sicurezza del database MariaDB. (Nota che la lettera Y
è in maiuscolo, il che significa che è la risposta predefinita.)
Controlla le informazioni sulla versione del server MariaDB.
mariadb --version
Uscita:
mariadb Ver 15.1 Distrib 10.1.34-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Fase 2:crea un database e un utente per Mailtrain
Ora dobbiamo accedere alla console MariaDB e creare un database e un utente per Mailtrain. Per impostazione predefinita, il pacchetto MaraiDB su Ubuntu utilizza unix_socket per autenticare l'accesso dell'utente, il che significa sostanzialmente che puoi utilizzare il nome utente e la password del sistema operativo per accedere alla console MariaDB. Quindi puoi eseguire il seguente comando per accedere senza fornire la password di root di MariaDB.
sudo mariadb -u root
Crea un database per Mailtrain usando il comando seguente. L'ho chiamato mailtrain
, ma puoi usare il nome che preferisci. (Non tralasciare il punto e virgola.)
create database mailtrain;
Quindi immettere il comando seguente per creare un utente del database per Mailtrain e concedere all'utente tutti i privilegi del database del mailtrain. Sostituisci mtuser
e your-password
con il nome utente e la password preferiti.
grant all privileges on mailtrain.* to mtuser@localhost identified by 'mtuser_password';
Quindi, crea un utente con accesso in sola lettura al database del treno di posta. Ho chiamato questo utente mt_readonly
.
grant select on mailtrain.* TO mt_readonly@localhost identified by 'mt_readonly_password';
Svuota la tabella dei privilegi per rendere effettive le modifiche, quindi esci dalla console di MariaDB.
flush privileges; exit;
Fase 3:installa Node.js
Mailtrain è basato su Node.js, che è un ambiente di runtime JavaScript che traduce il codice JavaScript leggibile dall'uomo in codice macchina. Quindi dobbiamo installare Node.js su Ubuntu 18.04 per eseguire Mailtrain. Mailtrain richiede Node.js 7+. Questo tutorial installerà l'attuale versione LTS di Node.js (V8.x) dal repository NodeSource.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt install -y nodejs
Nota:l'ultima versione LTS di Node.js è ora la v12, ma non funziona con Mailtrain v1.24.1.
I nodejs
pacchetto contiene il binario npm (gestore di pacchetti Node.js), quindi non è necessario installarlo separatamente. Per controllare la tua versione di Node.js e npm, esegui
node -v npm -v
Uscita:
Per compilare e installare componenti aggiuntivi nativi da npm devi anche installare gli strumenti di compilazione:
sudo apt install -y build-essential
Fase 4:esegui Mailtrain
Vai a /var/www/
e recupera i file Mailtrain da Github.
cd /var/www/ sudo git clone https://github.com/Mailtrain-org/mailtrain.git
Importare i dati SQL iniziali nel database mailtrain utilizzando il comando seguente. Devi inserire la password di mtuser
.
mariadb -u mtuser -p mailtrain < /var/www/mailtrain/setup/sql/mailtrain.sql
Crea il file di configurazione production.toml.
sudo nano /var/www/mailtrain/config/production.toml
In questo file puoi aggiungere configurazioni che sovrascrivono le configurazioni predefinite in /var/www/mailtrain/config/default.toml
file. Abbiamo solo bisogno di aggiungere le seguenti configurazioni.
user="mailtrain" group="mailtrain" [log] level="error" [www] secret="Replace this with some random characters" [mysql] user="mtuser" password="mtuser_password" [queue] processes=5
Salva e chiudi il file. Quindi crea il mailtrain
utente e gruppo per l'esecuzione del demone mailtrain. Tieni presente che non è necessario creare una password per questo utente, quindi creiamo un utente di sistema anziché un utente normale.
sudo adduser --system --group mailtrain
Crea un file di configurazione per il report worker.
sudo nano /var/www/mailtrain/workers/reports/config/production.toml
Aggiungi le seguenti configurazioni. Questo lavoratore del rapporto avrà accesso in sola lettura al database del treno di posta.
[log] level="error" [mysql] user="mt_readonly" password="mt_readonly_password"
Salva e chiudi il file. Quindi cambia l'autorizzazione di /var/www/mailtrain/
.
sudo chown mailtrain:mailtrain /var/www/mailtrain/ -R sudo chmod o-rwx /var/www/mailtrain/config/
E installa i pacchetti di nodi richiesti.
cd /var/www/mailtrain sudo npm install --no-progress --production --unsafe-perm=true
Copia il file dell'unità di servizio systemd in /etc/systemd/system/
directory.
sudo cp /var/www/mailtrain/setup/mailtrain.service /etc/systemd/system/
Apri questo file.
sudo nano /etc/systemd/system/mailtrain.service
Modifica /opt/mailtrain
a /var/www/mailtrain
. Potresti anche voler commentare la riga seguente. Perché, con la seguente riga abilitata, se MySQL/MariaDB si riavvia, allora mailtrain.service
si riavvierà anche e se il server MySQL/MariaDB è in fase di aggiornamento, allora mailtrain.service
smetterò. Penso che non sia necessario richiedere il mysql.service
.
Requires=mysql.service
Salva e chiudi questo file. Quindi avvia mailtrain.service
.
sudo systemctl start mailtrain.service
Controlla il suo stato. Assicurati che sia in esecuzione.
sudo systemctl status mailtrain.service
Abilita l'avvio automatico all'avvio del sistema.
sudo systemctl enable mailtrain.service
Ora che Mailtrain è in esecuzione, puoi accedere all'interfaccia web di Mailtrain tramite la porta 3000.
your-server-ip:3000
Passaggio 5:imposta il proxy inverso e abilita HTTPS
Prima di utilizzare l'interfaccia web di Mailtrain, mettiamola dietro Nginx e quindi abilitiamo HTTPS. Installa il server web Nginx su Ubuntu 18.04 con:
sudo apt install nginx
Ora puoi copiare l'esempio mailtrain-nginx.conf
file in /etc/nginx/conf.d/
directory.
sudo cp /var/www/mailtrain/setup/mailtrain-nginx.conf /etc/nginx/conf.d/
Apri questo file.
sudo nano /etc/nginx/conf.d/mailtrain-nginx.conf
Trova la riga seguente.
server_name mailtrain.org www.mailtrain.org;
Modifica il valore di server_name
parametro al tuo nome di dominio come newsletter.your-domain.com
. Non dimenticare di creare un record A per questo sottodominio.
server_name newsletter.linuxbabe.com;
Salva e chiudi il file. Quindi testa le configurazioni di Nginx.
sudo nginx -t
Se il test ha esito positivo, ricarica Nginx per rendere effettive le modifiche.
sudo systemctl reload nginx
Ora dovresti essere in grado di accedere all'interfaccia web di Mailtrain tramite il tuo sottodominio: newsletter.your-domain.com
.
Ora modifica /var/www/mailtrain/config/production.toml
file.
sudo nano /var/www/mailtrain/config/production.toml
Nel [www]
sezione, aggiungi le due righe seguenti per indicare che mailtrain è dietro il proxy Nginx e fallo ascoltare solo sull'indirizzo host locale.
host="127.0.0.1" proxy=true
Salva e chiudi il file. Quindi riavvia Mailtrain per rendere effettive le modifiche.
sudo systemctl restart mailtrain
Passaggio 6:abilita HTTPS con Let's Encrypt
Installa il client Let's Encrypt (certbot) sul tuo server Ubuntu 18.04.
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt install certbot python3-certbot-nginx
Quindi puoi utilizzare il plug-in Nginx per ottenere e installare automaticamente un certificato TLS eseguendo il comando seguente.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address -d newsletter.your-domain.com
Ora puoi accedere all'interfaccia web di Mailtrain tramite il tuo nome di dominio e una connessione HTTPS sicura.
htop
il comando mi dice che il mio server utilizza circa 500 MB di RAM. Se eseguo Mailtrain con Docker, sono circa 900 MB.
Accedi con nome utente admin
e password test
. Quindi cambia l'indirizzo email e la password del tuo account. Vai a settings
pagina per modificare le configurazioni predefinite. Devi modificare l'indirizzo del servizio da http://localhost:3000/
al tuo sottodominio (https://newsletter.your-domain.com
).
admin
a qualcos'altro. L'interfaccia web di Mailtrain non fornisce tale opzione, ma puoi cambiare il nome utente nel database MariaDB usando il comando SQL.
In Mailer Settings
, puoi utilizzare SMTP se hai il tuo server di posta elettronica o utilizzi Amazon SES. In realtà, puoi anche utilizzare altri servizi di inoltro SMTP in SMTP
scheda. Nello screenshot qui sotto, utilizzo il mio server di posta elettronica. Le email verranno inviate sulla porta 587 con crittografia STARTTLS.
Se Mailtrain è installato sul tuo server di posta elettronica, dovresti utilizzare le seguenti impostazioni SMTP. Il nome host dovrebbe essere 127.0.0.1 e la porta 25. Non è necessario abilitare la crittografia o l'autenticazione quando si parla con localhost.
Salva le tue impostazioni. Quindi puoi creare un elenco per testare le funzionalità di Mailtrain.
Come gestire i messaggi di rimbalzo in Mailtrain
Prima o poi, la tua mailing list conterrà indirizzi a cui non puoi inviare email. Ad esempio, quando un abbonato che utilizza un indirizzo e-mail aziendale lascia l'azienda, tale indirizzo e-mail verrà eliminato. Quindi il tuo server di posta elettronica riceverà un messaggio di rimbalzo che ti dice che l'email non può essere consegnata.
Se utilizzi un servizio di inoltro SMTP per inviare e-mail, gestirà i messaggi di rimbalzo per te. Se utilizzi il tuo server di posta elettronica per inviare e-mail, devi gestire i messaggi di rimbalzo in Mailtrain. Mailtrain offre due modi per gestire i messaggi rimbalzati.
- tramite VERP
- tramite il registro di Postfix
Personalmente utilizzo il metodo VERP, perché è ampiamente utilizzato nella comunità di posta elettronica e anche perché il secondo metodo causa un elevato utilizzo della CPU sul mio server.
Gestione del rimbalzo VERP
Con VERP (percorso di ritorno busta variabile), il gestore dell'elenco di posta elettronica utilizza indirizzi busta univoci per ciascun abbonato. Per abilitare VERP, modifica il production.toml
file.
sudo nano /var/www/mailtrain/config/production.toml
Se il tuo host Mailtrain non ha un server SMTP in esecuzione, aggiungi il seguente testo.
[verp] enabled=true port=25 disablesenderheader=true
Se il tuo server Mailtrain ha un server SMTP come Postfix in esecuzione, aggiungi il testo seguente. Il server di gestione del rimbalzo sarà in ascolto su 127.0.0.1:2525
.
[verp] enabled=true port=2525 host="127.0.0.1" disablesenderheader=true
Salva e chiudi il file. Quindi riavvia Mailtrain per rendere effettive le modifiche.
sudo systemctl restart mailtrain
Nell'interfaccia web di Mailtrain, vai su Settings
-> VERP Bounce Handlding
. Controlla Use VERP to catch bounces
. Salva le tue impostazioni.
Successivamente, devi creare un record MX per il nome host del server (bounces.your-domain.com
), quindi aggiungi un record per questo nome host, che punta al tuo host Mailtrain, in modo che i messaggi di rimbalzo possano essere inviati al tuo host Mailtrain. Ogni iscritto nel tuo elenco avrà un indirizzo busta univoco come [email protected]
.
Tieni presente che se hai distribuito il record DMARC per il tuo nome di dominio, l'allineamento SPF deve essere impostato sulla modalità rilassata. Se è impostato in modalità rigorosa, la tua newsletter potrebbe non superare il controllo DMARC.
Se il server di gestione del rimbalzo di Mailtrain è in ascolto sulla porta 2525 di 127.0.0.1 e il server SMTP Postfix è in ascolto sulla porta 25 dell'indirizzo IP pubblico, è necessario configurare la mappa di trasporto in modo che Postfix possa inoltrare il messaggio di rimbalzo a Mailtrain. Crea il file della mappa di trasporto.
sudo nano /etc/postfix/transport
Aggiungi la seguente riga a questo file. Questo dice a Postfix di inoltrare le email con un indirizzo come [email protected]
al server di gestione dei rimbalzi di Mailtrain.
bounces.your-domain.com smtp:[127.0.0.1]:2525
Salva e chiudi il file. Quindi genera il file di indice.
sudo postmap /etc/postfix/transport
Modifica il file di configurazione principale di Postfix.
sudo nano /etc/postfix/main.cf
Aggiungi la seguente riga al file.
transport_maps = hash:/etc/postfix/transport
Nota:se hai utilizzato iRedMail per configurare il tuo server di posta, allora transport_maps
parametro ha altri valori. Dovresti aggiungere il valore alla fine come di seguito.
transport_maps = proxy:mysql:/etc/postfix/mysql/transport_maps_user.cf proxy:mysql:/etc/postfix/mysql/transport_maps_maillist.cf proxy:mysql:/etc/postfix/mysql/transport_maps_domain.cf hash:/etc/postfix/transport
Salva e chiudi il file. Quindi riavvia Postfix per rendere effettive le modifiche.
sudo systemctl restart postfix
Gestione dei messaggi rimbalzati tramite il registro Postfix
Ciò presuppone che Mailtrain sia installato sul tuo server di posta elettronica.
Mailtrain è in grado di rilevare i messaggi rimbalzati dal registro di posta di Postfix trovando le righe che contengono status=bounced
. Innanzitutto, è necessario abilitare il server di lettura dei registri di Postfix. Modifica il production.toml
file.
sudo nano /var/www/mailtrain/config/production.toml
Aggiungi il seguente testo.
[postfixbounce] enabled=true
Salva e chiudi il file. Quindi riavvia Mailtrain per rendere effettive le modifiche.
sudo systemctl restart mailtrain
Ora il server di lettura del registro di Postfix è in ascolto su 127.0.0.1:5699. Per consentirgli di leggere il log di Postfix, esegui il comando seguente.
tail -F /var/log/mail.log | nc localhost 5699 -
Per farlo funzionare in background, puoi creare un'unità di servizio systemd.
sudo nano /etc/systemd/system/bouncetail.service
Aggiungi il seguente testo.
[Unit] Description=Postfix bounce notifier After=mailtrain.service [Service] ExecStart=/bin/sh -c '/usr/bin/tail -F /var/log/mail.log | nc localhost 5699 -' Type=simple Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
Salva e chiudi il file. Quindi avvia questo servizio e abilita l'avvio automatico all'avvio.
sudo systemctl start bouncetail sudo systemctl enable bouncetail
Assicurati di riavviare il servizio bouncetail dopo aver riavviato il servizio mailtrain. Ho scoperto che il servizio bouncetail causa un elevato utilizzo della CPU sul mio server, quindi non utilizzo questo metodo.
Aggiorna
Dopo aver utilizzato Mailtrain sul mio server per un po' di tempo, ho scoperto che ci sono altri motivi che causano il rimbalzo delle e-mail. I seguenti sono rimbalzi morbidi.
- La casella di posta del destinatario è piena.
- Il tuo indirizzo IP è in una lista nera.
- Il server di posta elettronica del destinatario è inattivo o offline.
C'è anche un hard bounce, ovvero l'indirizzo email del destinatario non esiste. Per impostazione predefinita, Mailtrain annulla l'iscrizione a un indirizzo email se viene rilevato un rimbalzo, il che va bene per l'hard bounce, ma è una buona idea consentire diversi soft bounce prima di annullare l'iscrizione all'indirizzo email errato. Puoi chiedere al server di posta elettronica di ricezione di rimuovere il tuo indirizzo IP dalla lista nera e quindi iscrivere nuovamente il relativo indirizzo di posta elettronica.
Caricare immagini in Mailtrain
Per caricare immagini in Mailtrain, devi installare imagemagick
pacchetto. Senza di essa, Mailtrain potrebbe generare errori durante il caricamento delle immagini.
sudo apt install imagemagick
Come inserire un modulo di iscrizione sul tuo sito web
Innanzitutto, è necessario abilitare la condivisione delle risorse tra le origini. Modifica il production.toml
file.
sudo nano /var/www/mailtrain/config/production.toml
Aggiungi la seguente riga nel file per autorizzare il tuo sito web.
[cors] # Allow subscription widgets to be embedded origins=['https://www.example.com']
Salva e chiudi il file. Quindi riavvia Mailtrain per rendere effettive le modifiche.
sudo systemctl restart mailtrain
Successivamente, aggiungi il seguente codice sul tuo sito Web per visualizzare il modulo di registrazione. Sostituisci il testo di colore rosso con il nome di dominio Mailtrain e il tuo ID elenco.
<div data-mailtrain-subscription-widget data-url="https://newsletter.example.com/subscription/8ljDT9KMGr/widget"> <a href="https://newsletter.example.com/subscription/8ljDT9KMGr">Subscribe to our list</a> </div> <script src="https://newsletter.example.com/subscription/widget.js"></script>
Quindi aggiungi regole CSS personalizzate per renderlo visivamente più accattivante.
Come creare utenti aggiuntivi in Mailtrain
Mailtrain v2 consentirà all'amministratore di creare più utenti con autorizzazioni utente granulari e condivisione flessibile. Ma con l'attuale versione v.1.24.1, puoi creare utenti solo attraverso il database. Accedi alla console MySQL/MariaDB.
sudo mysql -u root
Usa il mailtrain
banca dati.
USE mailtrain;
Quindi crea una voce utente con il seguente comando SQL.
INSERT INTO `users` (`username`, `password`, `email`, `access_token`, `reset_token`, `reset_expire`, `created`) VALUES ('your-username',PASSWORD("your-password"),'[email protected]',NULL,NULL,NULL,NOW());
Esci dal server del database.
EXIT;
Ho scoperto che gli utenti creati in questo modo non possono accedere all'interfaccia web di Mailtrain la prima volta. Gli utenti devono utilizzare il collegamento "password dimenticata" nella pagina di accesso per reimpostare la propria password, quindi l'accesso dovrebbe funzionare. Tieni inoltre presente che tutti gli utenti dispongono dell'autorizzazione amministrativa nell'interfaccia web di Mailtrain.
Come importare l'elenco e-mail da MailChimp
Per prima cosa, devi andare su Audience
scheda nella dashboard di MailChimp. Fai clic su View Contacts
pulsante per mostrare tutti gli iscritti. Quindi fai clic su Export Audience
per esportare l'elenco come file CSV.
Quindi vai alla dashboard di Mailtrain e seleziona la tua mailing list. Seleziona List Actions
pulsante a discesa e fai clic su Import Subscribers
.
Nella pagina successiva, dovrai caricare il file CSV scaricato da MailChimp.
Quindi devi abbinare i campi in MailChimp ai campi nella tua lista e-mail Mailtrain. Se alcuni dei campi in MailChimp non esistono nell'elenco e-mail di Mailtrain, puoi crearli nella dashboard di Mailtrain.
Tieni presente che se i tuoi campi MailChimp contengono pulsanti di opzione, dovresti creare pulsanti di opzione anche nei campi Mailtrain. Tuttavia, devi segmentare il tuo elenco MailChimp in base al valore del pulsante di opzione, quindi esportare questi segmenti in diversi file CSV e importarli in Mailtrain un segmento alla volta. Questo perché Mailtrain non fornisce un modo per abbinare i valori di ciascun pulsante di opzione da MailChimp.
Cron Job per pulire automaticamente gli indirizzi email non iscritti
Puoi eliminare manualmente gli indirizzi e-mail non iscritti nel pannello di amministrazione basato sul Web di Mailtrain, ma è molto più efficiente eliminarli utilizzando i comandi MySQL/MariaDB, quindi devi semplicemente creare un processo Cron per automatizzare questa attività.
Innanzitutto, accedi al server del database MySQL/MariaDB.
sudo mysql -u root
Quindi connettiti al database del treno di posta.
use mailtrain;
Le informazioni sugli abbonati sono memorizzate nel subscription
tavoli. Se hai più mailing list, avrai più subscription
tavoli. Puoi elencare tutte queste tabelle usando il seguente comando SQL.
show tables like 'subscription%';
Output sul mio server.
+-------------------------------------+ | Tables_in_mailtrain (subscription%) | +-------------------------------------+ | subscription | | subscription__1 | | subscription__2 | +-------------------------------------+
La prima tabella è una tabella vuota. Ho due liste in Mailtrain. Sono memorizzati in subscription__1
e subscription__2
tavolo. Gli indirizzi email sottoscritti hanno il codice di stato impostato su 1
. Gli indirizzi email non iscritti hanno il codice di stato impostato su 2
. Quindi, per eliminare gli indirizzi email non iscritti, puoi eseguire i seguenti comandi SQL.
DELETE FROM subscription__1 where status = '2'; DELETE FROM subscription__2 where status = '2';
Per uscire dal server di database MySQL/MariaDB, esegui
exit;
Ora apri il file crontab dell'utente root.
sudo crontab -e
Aggiungi le due righe seguenti.
# Delete unsubscribed email addresses from mailing list daily @daily /usr/bin/mysql -u root mailtrain -Bse "DELETE FROM subscription__1 where status = '2';DELETE FROM subscription__2 where status = '2';"
Salva e chiudi il file. E il gioco è fatto.
Come esportare le tue liste e-mail in Mailtrain
Non c'è alcun pulsante di esportazione nel pannello di amministrazione di Mailtrain. Tuttavia, se hai installato phpMyAdmin sul server, puoi esportare le tue liste di posta elettronica da lì. Seleziona il database del treno di posta in phpMyAdmin, quindi seleziona la tabella che memorizza le tue liste di posta elettronica. Nel mio caso, l'subscription__1
e subscription__2
le tabelle memorizzano le informazioni sugli abbonati.
Quindi fai clic su export
pulsante per salvare la tabella come file. Nota che ci sono 2 pulsanti di esportazione. È necessario fare clic sul secondo pulsante di esportazione per esportare l'intera tabella. Il primo pulsante di esportazione esporterà solo i record attualmente visibili nella tabella.
Successivamente, puoi scegliere il formato del file per il file di esportazione. Infine, fai clic sul pulsante Vai.
Come nascondere la home page di Mailtrain
Se non vuoi che i visitatori vedano la tua home page di mailtrain, puoi impostare un reindirizzamento permanente 301 per reindirizzare i visitatori alla home page del tuo sito web, aggiungendo il seguente codice nel file di configurazione Nginx di Mailtrain.
location = / { return 301 http://www.your-domain.com; }
Salva e chiudi il file. Quindi ricarica Nginx per rendere effettive le modifiche.
sudo systemctl reload nginx
Devi ricordare l'URL di accesso a Mailtrain.
https://newsletter.your-domain.com/users/login
Per impostazione predefinita, il pulsante di accesso ti reindirizzerà alla home page di Mailtrain, quindi devi ricordare un altro URL.
https://newsletter.your-domain.com/lists
Ciò ti consente di gestire le tue liste e altre cose nella dashboard.
Come inserire le opzioni nel modulo di registrazione
Se vuoi fornire opzioni sul modulo di registrazione che il visitatore può selezionare, devi creare campi personalizzati. Vai alla tua lista e seleziona custom fields
in List Actions
menu a tendina e crea un campo personalizzato.
Innanzitutto, devi creare un campo che diventerà la domanda di intestazione per l'elenco delle opzioni. In Field Type
, puoi selezionare radio button
(per scelta singola) o checkboxes
(per scelte multiple). In Group
, non selezionare nulla, perché questo campo diventerà un gruppo per le opzioni.
Quindi crea un campo personalizzato per ciascuna opzione. Devi scegliere option for a group value
in Field Type
e scegli il nome del file personalizzato precedente in Group
.
Come modificare il tipo di campo
Per impostazione predefinita, l'interfaccia web di Mailtrain non ti consente di cambiare il tipo di archivio, ma puoi cambiarlo nel database di mailtrain. Ad esempio, devo modificare un tipo di campo da checkboxes
a radio button
.
Consiglio di eseguire il backup del database prima di modificare qualsiasi cosa nel database. È possibile eseguire il comando seguente per eseguire il backup del database di mailtrain.
sudo mysqldump -u root mailtrain > mailtrain.sql
Quindi accedi al server del database MariaDB.
sudo mysql -u root
Usa il mailtrain
banca dati.
USE mailtrain;
Tutti i campi personalizzati sono memorizzati nei custom_fields
tavolo. Puoi verificarne il contenuto con:
SELECT * FROM custom_fields;
Trova il campo personalizzato che desideri modificare ed esegui il seguente comando SQL per cambiarne il tipo. Sostituisci il numero ID con il tuo.
UPDATE custom_fields SET type = 'radio' Where id = 3;
Esci dal server del database.
EXIT;
Come pulire la tua lista e-mail in Mailtrain
Gli abbonati non coinvolti non ti faranno guadagnare e poiché non aprono la tua e-mail, i provider di caselle di posta ridurranno la reputazione del tuo dominio. Per assicurarti che la tua email futura arrivi nella posta in arrivo, dovresti rimuovere gli iscritti non coinvolti dalla tua lista di email.
Puoi creare un segmento per le persone che non hanno aperto la tua email negli ultimi 60 giorni, quindi eliminare i loro indirizzi email. La regola per questo segmento è la seguente: