GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installazione di Mailtrain sul server Ubuntu 18.04 senza Docker

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 mtuseryour-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 ).

Nota:l'account amministratore è un facile bersaglio per gli hacker. Per la massima sicurezza, ti consigliamo di cambiare il nome utente da 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:


Ubuntu
  1. Installare il server 18.04 senza connessione di rete?

  2. Installare Ubuntu 12.04 senza installare Grub?

  3. Come installare il server Ubuntu senza connessione di rete?

  4. Installazione Docker (Ubuntu)

  5. Come installare MariaDB su Ubuntu 22.04

Installa l'app per newsletter self-hosted Mailtrain sul server Ubuntu 16.04

Installa Mailtrain v1.24 su Ubuntu 20.04 Server senza Docker

Come installare Mailtrain su Ubuntu 18.04 con Docker

Installa il software Discourse Forum su Ubuntu 18.04 senza Docker

Errore durante l'installazione di Ubuntu Server 18.04:nome pool non valido?

Installazione di Gitea – Un server Git self-hosted su Ubuntu 22.04 LTS