Questo tutorial ti mostrerà come configurare la piattaforma di email marketing Mautic su Ubuntu 20.04 con server web Apache o Nginx. Mautic è un'alternativa open source gratuita ai fornitori di servizi di posta elettronica commerciali come MailChimp.
Caratteristiche Mautiche
- Lead nurturing e monitoraggio
- Campagne di marketing
- Programmi Dripflow
- Moderno generatore di email e pagine di destinazione (design reattivo, blocchi drag &drop, modelli MJML).
- Test A/B per email e pagine di destinazione.
- Crea segmenti per qualsiasi elenco in base alle condizioni da te definite (paese, stato, città, fuso orario, tipo di dispositivo, sistema operativo del dispositivo, punti, URL visitato, ecc.)
- Puoi organizzare e classificare i segmenti.
- Annunci automaticamente i contatti tramite API
- Monitoraggio dei social media
- Installa plugin per estendere le funzionalità di Mautic.
- Mautic può essere facilmente integrato con servizi di inoltro SMTP di terze parti come Gmail, Mandrill, Sendgrid, Amazon SES. Puoi anche utilizzare il tuo server di posta.
- Può integrarsi con molte app di terze parti popolari come Twilio, Pipedrive, Salesforce, Gmail, Facebook, Instagram, Twitter, GoToMeeting, Hubspot, SugarCRM, MailChimp, Zoho CRM, Zapier e molti altri.
- Gestione automatica dei rimbalzi tramite IMAP, quindi non devi rimuovere manualmente indirizzi email inesistenti.
- Invia rapporti alla tua email.
- L'indirizzo Da:può essere personalizzato per e-mail.
- Profilazione progressiva per i moduli (accodare campi illimitati, mostrare solo un numero specificato di campi, impostare un campo da mostrare sempre anche se il valore è noto).
- Supporta più account utente e ruoli.
- E molto altro
Vantaggi della piattaforma di email marketing in self hosting
Perché vuoi ospitare autonomamente una piattaforma di email marketing invece di utilizzare ESP (Email Service Provider) di terze parti come MailChimp?
Per cominciare, il self-hosting può farti risparmiare un sacco di soldi. Mautic è un software gratuito e open source. Devi solo pagare $ 26 al mese per il VPS (server privato virtuale), che può eseguire un server di posta completo e la piattaforma di email marketing Mautic. Può gestire facilmente milioni di abbonati. Quindi il tuo costo totale è sempre di $ 26 al mese, indipendentemente dal numero di abbonati che hai . Se possiedi milioni di abbonati su MailChimp, il costo sarebbe di migliaia di dollari al mese.
Un altro motivo è che il browser Firefox blocca i tracker di terze parti (tracciamento tra siti) per impostazione predefinita, quindi il widget di registrazione di MailChimp sul tuo sito Web potrebbe non funzionare correttamente e il pop-up di MailChimp non verrà mostrato ai tuoi visitatori. Ospitando la piattaforma di email marketing con il tuo nome di dominio, Firefox non blocca il tracker, quindi il tuo widget di registrazione o popup può funzionare correttamente. Questo vale anche se gli utenti di altri browser web decidono di bloccare tracker di terze parti.
Firefox blocca i tracker di terze parti
Inoltre, puoi manipolare le informazioni degli abbonati dal database e persino automatizzarlo con un processo Cron. Ad esempio, vedo spesso che ci sono errori di battitura quando un visitatore inserisce informazioni nel modulo di registrazione. Uso un lavoro cron per correggere automaticamente alcuni errori di battitura comuni.
Ultimo ma non meno importante, il self-hosting può proteggere la tua libertà di parola. Non devi mai preoccuparti che un provider di servizi di posta elettronica chiuda il tuo account come ha fatto Mailchimp.
Sfide della piattaforma di email marketing di self hosting
Il primo problema che devi affrontare è trovare una buona piattaforma di email marketing auto-ospitabile. In precedenza abbiamo discusso su come configurare Mailtrain, che è un'alternativa open source a MailChimp, sul server Ubuntu 20.04. Tuttavia, a Mailtrain mancano diverse funzionalità che un tipico proprietario di un sito vorrebbe avere.
- Mailtrain non fornisce agli utenti un modo semplice per inserire il widget di registrazione o il popup sul sito web.
- Gli utenti non possono impostare la pianificazione temporale per le campagne RSS.
- Nessuna valutazione dei contatti.
Dopotutto, Mailtrain è solo un progetto di una manciata di sviluppatori di software.
Mautic, invece, è un progetto di un team di sviluppatori e ha sviluppato negli anni sempre più funzionalità. Hai un modo semplice per inserire il widget di registrazione e il popup sul tuo sito Web con Mautic. C'è anche una comunità vivace e molto attiva intorno ad esso. Inoltre, Mautic è più di una semplice piattaforma di newsletter/email marketing. È una piattaforma di esperienza digitale in piena regola, come la chiamano. Con Acquia (che è una società che offre servizi a pagamento per il sistema di gestione dei contenuti open source Drupal) che ha acquisito Mautic a maggio 2019, il futuro di Mautic non è mai stato così roseo. Quindi sento che è ora di passare da Mailtrain a Mautic.
La seconda sfida è avere le competenze tecniche per configurare la piattaforma di email marketing sul proprio server. Non preoccuparti, ti mostrerò come fare tra pochi istanti.
La terza sfida è che devi avere una buona reputazione per l'indirizzo IP del tuo server di posta e anche per il tuo nome di dominio. In caso contrario, le tue e-mail finiranno nella cartella spam. Gmail Postmaster Tools può mostrarti se hai una buona reputazione per il tuo nome di dominio e indirizzo IP. Come puoi vedere dallo screenshot qui sotto, ho sempre un'alta reputazione del dominio con Gmail, perché seguo sempre le migliori pratiche per inviare e-mail ai miei abbonati. È molto raro che i miei iscritti segnalino la mia email come spam.
Per inviare email in blocco, devi seguire queste regole o pratiche.
- Assicurati che il destinatario ti abbia autorizzato a inviare e-mail. Utilizza il double opt-in per verificare l'indirizzo email dell'abbonato.
- Non inviare email fredde a migliaia di persone che non hanno mai ricevuto email da te prima. Invece, devi riscaldare il tuo indirizzo IP. Ad esempio, invia 500 email il giorno 1, quindi invia 1000 email il giorno 2, invia 2000 email il giorno 3.
- Includi le tue informazioni di contatto e il tuo indirizzo di posta in fondo al messaggio di posta elettronica.
- Personalizza il più possibile il messaggio di posta elettronica. Ad esempio, includi il nome del destinatario nell'email.
- Conforme alla legge CAN-SPAM
- Evita allegati di grandi dimensioni.
- Pulisci la tua lista e-mail. Ad esempio, elimina gli abbonati email che non hanno aperto la tua email negli ultimi 30 giorni.
- Ottieni l'approvazione come mittente certificato Return Path.
- Verifica il posizionamento della tua email con GlockApps.
Si consiglia inoltre di migliorare la reputazione IP/dominio prima di inviare e-mail in blocco. Ora diamo un'occhiata a come installare Mautic sul server Ubuntu 20.04.
Prerequisiti per l'installazione di Mautic su Ubuntu 20.04 Server
Se non hai ancora il tuo server di posta, ti consiglio di utilizzare il programma gratuito iRedMail per configurare rapidamente il tuo server di posta prima di installare Mautic, in modo da non dover spendere soldi per il servizio di inoltro SMTP commerciale.
Mautic è scritto in PHP e si basa sul server di database MySQL/MariaDB. Quindi è necessario impostare uno stack LAMP o uno stack LEMP. Se preferisci Apache server web, quindi imposta lo stack LAMP.
- Come installare lo stack LAMP su Ubuntu 20.04
Se preferisci Nginx server web, quindi imposta lo stack LEMP.
- Come installare lo stack LEMP su Ubuntu 20.04
Nota che iRedMail imposterà automaticamente uno stack LEMP per te, quindi se hai intenzione di installare Mautic sul tuo server iRedMail, non è necessario configurare nuovamente lo stack LEMP.
Hai anche bisogno di un nome di dominio. Ho registrato il mio nome di dominio da NameCheap perché il prezzo è basso e offrono protezione della privacy a whois gratuita per tutta la vita. Senza ulteriori indugi, installiamo Mautic sul server Ubuntu 20.04.
Passaggio 1:scarica Mautic sul tuo server Ubuntu 20.04
Scarica l'ultima versione stabile eseguendo il seguente comando sul tuo server.
wget https://github.com/mautic/mautic/releases/download/4.2.1/4.2.1-update.zip
Installa unzip
utility e decomprimilo in /var/www/mautic/
directory.
sudo apt install unzip sudo mkdir -p /var/www/mautic/ sudo unzip 4.2.1-update.zip -d /var/www/mautic/
Quindi imposta l'utente del server web (www-data
) come proprietario di questa directory.
sudo chown -R www-data:www-data /var/www/mautic/
Fase 2:crea un database MariaDB e un utente per Mautic
Accedi alla console MariaDB.
sudo mysql -u root
Quindi, crea un nuovo database per Mautic usando il comando seguente. Questo tutorial lo chiama mautic
, puoi utilizzare il nome che preferisci per il database.
CREATE DATABASE mautic DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Il comando seguente creerà un utente e una password del database e allo stesso tempo concederà tutte le autorizzazioni del nuovo database al nuovo utente in modo che in seguito Mautic possa scrivere nel database. Sostituisci i testi rossi con il nome del database, il nome utente e la password preferiti.
GRANT ALL ON mautic.* TO 'mauticuser'@'localhost' IDENTIFIED BY 'password';
Svuota la tabella dei privilegi ed esci dalla console MariaDB.
FLUSH PRIVILEGES; EXIT;
Fase 3:installa i moduli PHP richiesti e consigliati.
Esegui il comando seguente per installare i moduli PHP richiesti o consigliati da Mautic
sudo apt install php-imagick php7.4-fpm php7.4-mysql php7.4-common php7.4-gd php7.4-imap php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp
Se utilizzi il server web Apache, devi disabilitare il modulo PHP per Apache.
sudo a2dismod php7.4
Devi anche disabilitare il modulo MPM prefork in Apache.
sudo a2dismod mpm_prefork
Ora devi eseguire il comando seguente per abilitare tre moduli per poter usare PHP-FPM in Apache, indipendentemente dal fatto che mod_php
è installato sul tuo server.
sudo a2enmod mpm_event proxy_fcgi setenvif
Quindi riavvia Apache.
sudo systemctl restart apache2
Fase 4:crea un host virtuale Apache o un file di configurazione Nginx per Mautic
Apache
Se utilizzi il server Web Apache, crea un host virtuale per Mautic.
sudo nano /etc/apache2/sites-available/mautic.conf
Inserisci il seguente testo nel file. Sostituisci mautic.example.com
con il tuo vero nome di dominio e non dimenticare di impostare un record DNS A per esso.
<VirtualHost *:80> ServerName mautic.example.com DocumentRoot /var/www/mautic/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/mautic/> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
Salva e chiudi il file. Quindi abilita questo host virtuale con:
sudo a2ensite mautic.conf
Ricarica Apache per rendere effettive le modifiche.
sudo systemctl reload apache2
Ora dovresti essere in grado di vedere la procedura guidata di installazione basata sul Web di Mautic su http://mautic.example.com/installer
.
Nginx
Se utilizzi il server web Nginx, crea un host virtuale per Mautic.
sudo nano /etc/nginx/conf.d/mautic.conf
Nota :Se installi Mautic sul server iRedMail, dovresti creare l'host virtuale in /etc/nginx/sites-enabled/
directory.
sudo nano /etc/nginx/sites-enabled/mautic.conf
Inserisci il seguente testo nel file. Sostituisci mautic.example.com
con il tuo vero nome di dominio e non dimenticare di creare un record DNS A per esso. Nota anche che se installi Mautic sul server iRedMail, dovresti usare il socket TCP (127.0.0.1:9999
) invece del socket Unix (unix:/run/php/php7.4-fpm.sock
).
server { listen 80; listen [::]:80; server_name mautic.example.com; root /var/www/mautic; error_log /var/log/nginx/mautic.error; access_log /var/log/nginx/mautic.access; client_max_body_size 20M; index index.php index.html index.htm index.nginx-debian.html; location / { # try to serve file directly, fallback to app.php try_files $uri /index.php$is_args$args; } location ~ /(mtc.js|1.js|mtracking.gif|.*\.gif|mtc) { # default_type "application/javascript"; try_files $uri /index.php$is_args$args; } # redirect some entire folders rewrite ^/(vendor|translations|build)/.* /index.php break; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; #Note: If you install Mautic on iRedMail server, you should use the TCP socket instead. #fastcgi_pass 127.0.0.1:9999; } location ~* ^/index.php { # try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; #Note: If you install Mautic on iRedMail server, you should use the TCP socket instead. #fastcgi_pass 127.0.0.1:9999; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 256 16k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } # Deny everything else in /app folder except Assets folder in bundles location ~ /app/bundles/.*/Assets/ { allow all; access_log off; } location ~ /app/ { deny all; } # Deny everything else in /addons or /plugins folder except Assets folder in bundles location ~ /(addons|plugins)/.*/Assets/ { allow all; access_log off; } # location ~ /(addons|plugins)/ { deny all; } # Deny all php files in themes folder location ~* ^/themes/(.*)\.php { deny all; } # Don't log favicon location = /favicon.ico { log_not_found off; access_log off; } # Don't log robots location = /robots.txt { access_log off; log_not_found off; } # Deny yml, twig, markdown, init file access location ~* /(.*)\.(?:markdown|md|twig|yaml|yml|ht|htaccess|ini)$ { deny all; access_log off; log_not_found off; } # Allow access to certbot directory in order to obtain TLS certificate location ~ /.well-known/acme-challenge { allow all; } # Deny all attempts to access hidden files/folders such as .htaccess, .htpasswd, .DS_Store (Mac), etc... location ~ /\. { deny all; access_log off; log_not_found off; } # Deny all grunt, composer files location ~* (Gruntfile|package|composer)\.(js|json)$ { deny all; access_log off; log_not_found off; } # Deny access to any files with a .php extension in the uploads directory location ~* /(?:uploads|files)/.*\.php$ { deny all; } # A long browser cache lifetime can speed up repeat visits to your page location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } }
Salva e chiudi il file. Quindi testa la configurazione 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 vedere la procedura guidata di installazione basata sul Web di Mautic su http://mautic.example.com/installer
.
Fase 5:abilitazione di HTTPS
Per crittografare il traffico HTTP, possiamo abilitare HTTPS installando un certificato TLS gratuito emesso da Let's Encrypt. Esegui il comando seguente per installare il client Let's Encrypt (certbot) sul server Ubuntu 20.04.
sudo apt install certbot
Assicurati che il .well-known/acme-challenge/
esiste una directory e www-data
è il proprietario.
sudo mkdir -p /var/www/mautic/.well-known/acme-challenge sudo chown www-data:www-data /var/www/mautic/.well-known/acme-challenge
Se usi Nginx , devi anche installare il plug-in Certbot Nginx.
sudo apt install python3-certbot-nginx
Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mautic.example.com
Se usi Apache , installa il plugin Certbot Apache.
sudo apt install python3-certbot-apache
Ed esegui questo comando per ottenere e installare il certificato TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mautic.example.com
Dove
--nginx
:usa il plugin nginx.--apache
:usa il plugin Apache.--agree-tos
:Accetta i termini di servizio.--redirect
:Forza HTTPS tramite reindirizzamento 301.--hsts
:aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP. Forzare il browser a utilizzare sempre TLS per il dominio. Difende dallo stripping SSL/TLS.--staple-ocsp
:Abilita la pinzatura OCSP. Una risposta OCSP valida viene pinzata al certificato offerto dal server durante TLS.
Il certificato dovrebbe ora essere ottenuto e installato automaticamente.
Se riscontri il seguente errore, puoi provare a utilizzare il plug-in webroot per ottenere il certificato TLS.
IMPORTANT NOTES: - The following errors were reported by the server: Domain: mautic.your-domain.com Type: unauthorized Detail: Invalid response from http://mautic.your-domain.com/.well-known/acme-challenge/oPobDrRkFbimsOD5Jbcx2VQfbMh9Hv3VueNhKdyhbcg [xx.xx.xx.xx]: "<html>\r\n<head><title>404 Not Found</title></head>\r\n<body>\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>nginx</center>\r\n" To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address.
Server web Nginx con plugin webroot
sudo certbot --webroot -w /var/www/mautic -i nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mautic.example.com
Server web Apache con plugin webroot
sudo certbot --webroot -w /var/www/mautic -i -apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mautic.example.com
Fase 6:termina l'installazione di Mautic nel browser Web
Ora nella barra degli indirizzi del browser, digita il tuo nome di dominio per Mautic per accedere alla procedura guidata di installazione web.
https://mautic.your-domain.com/installer
o
https://mautic.your-domain.com/index.php/installer
Fare clic su Passaggio successivo. Se vedi il seguente avviso,
The memory_limit setting in your PHP configuration is lower than the suggested minimum limit of 512M. Mautic can have performance issues with large datasets without sufficient memory.
Quindi modifica il php.ini
file.
sudo nano /etc/php/7.4/fpm/php.ini
Trova la riga seguente
memory_limit = 128M
Cambia il suo valore in 512M.
memory_limit = 512M
Inoltre, puoi impostare un fuso orario predefinito in PHP. Trova la riga seguente.
;date.timezone =
Cambialo in:
date.timezone = America/New_York
Puoi trovare il tuo formato di fuso orario sul sito Web ufficiale di PHP. Salva e chiudi il file. Quindi ricarica PHP7.4-FPM e l'avviso dovrebbe essere scomparso.
sudo systemctl reload php7.4-fpm
Nel passaggio 1, inserisci i dettagli del database MariaDB/MySQL. Per motivi di sicurezza, in questo passaggio puoi aggiungere un prefisso di tabella del database. Puoi usare un breve carattere casuale come prefisso della tabella come 6aC8_
. Si consiglia di terminare il prefisso con un trattino basso _
.
Se riscontri il seguente errore:
An error occured while attempting to add default data: There's no active transaction.
È necessario modificare il driver del database da MySQL PDO a MySQLi.
Nel passaggio 2, crea un account amministratore per l'interfaccia web di Mautic.
Nel passaggio 3, configura le impostazioni e-mail. Hai molte opzioni nel trasporto di posta. Puoi utilizzare PHP Mail
, sendmail
o Gmail
oppure integra Mautic con servizi di posta elettronica di terze parti come Mandrill
, Sendgrid
, Amazon SES
, ecc. Queste impostazioni possono sempre essere modificate dopo l'installazione nella pagina delle configurazioni di Mautic. Se Mautic è installato sul tuo server di posta, devi scegliere Sendmail
come trasporto del mailer, quindi Mautic utilizzerà il tuo server di posta per inviare e-mail. La gestione delle email deve essere impostata su Invia immediatamente , quindi le email transazionali verranno inviate immediatamente e le email di marketing verranno messe in coda.
Se Mautic e il tuo server di posta sono in esecuzione su host diversi e desideri che Mautic invii e-mail tramite il tuo server di posta, devi scegliere Other SMTP server
come trasporto di posta. Allora
- Inserisci il nome host del tuo server di posta
- Scegli la porta 587
- Scegli la crittografia TLS.
- Scegli Normale come modalità di autenticazione.
- Inserisci le credenziali di accesso di un indirizzo email sul tuo server di posta.
Al termine del passaggio 3, puoi accedere alla dashboard di Mautic.
Se vedi l'errore interno del server 500, controlla i log di Mautic, che possono essere trovati in /var/www/mautic/app/logs/
directory. Se hai dimenticato la password del database Mautic, puoi trovarla in /var/www/mautic/app/config/local.php
file.
Passaggio 7:abilita HTTP2 per migliorare le prestazioni
Puoi abilitare il protocollo HTTP2 per migliorare le prestazioni di caricamento delle pagine per Mautic.
Apache
Innanzitutto, devi abilitare il modulo HTTP2.
sudo a2enmod http2
Quindi apri il file dell'host virtuale SSL.
sudo nano /etc/apache2/sites-enabled/mautic-le-ssl.conf
Inserisci la seguente direttiva dopo l'apertura <VirtualHost *:443>
tag.
Protocols h2 http/1.1
Salva e chiudi il file. Quindi riavvia Apache per rendere effettive le modifiche.
sudo systemctl restart apache2
Nginx
Per abilitare il protocollo HTTP2 nell'host virtuale Nginx, trova la riga seguente.
listen 443 ssl; # managed by Certbot
Aggiungi semplicemente http2
dopo ssl
.
listen 443 ssl http2; # managed by Certbot
Salva e chiudi il file. Quindi ricarica Nginx.
sudo systemctl reload nginx
Fase 8:installa il plug-in RSS per e-mail
Per molti proprietari di siti, la possibilità di recuperare automaticamente il contenuto dal feed RSS e inviarlo agli abbonati è un must. Mautic non supporta questa funzionalità in modo nativo, ma puoi installare un plug-in per implementare questa funzionalità. Il plug-in costa $ 9,95. È un pagamento una tantum. Riceverai aggiornamenti gratuiti per tutta la vita. Vai su https://mauticapps.com/ per acquistare.
Dopo aver effettuato il pagamento, puoi scaricare il plugin.
Quindi carica questo plugin su /var/www/mautic/plugins/
directory.
Quindi, vai alla directory dei plugin di Mautic.
cd /var/www/mautic/plugins/
Decomprimi l'archivio.
sudo unzip MauticRssToEmailBundle.zip
Svuota la cache di Mautic.
sudo -u www-data php7.4 /var/www/mautic/bin/console cache:clear
Nella dashboard di Mautic, fai clic sull'icona a forma di ingranaggio nell'angolo in alto a destra e seleziona plugins
. Fai clic su Install/Upgrade plugins
e il plug-in Mautic RSS to Email verrà visualizzato nell'elenco dei plug-in.
Passaggio 9:aggiungi lavori Cron
Mautic si affida ai lavori di Cron per aggiornare i segmenti della mailing list, le campagne di email marketing, gli eventi della campagna ed elaborare le code di posta elettronica. Modifica il file crontab dell'utente www-data. (Non dovresti aggiungere comandi Mautic nel file crontab dell'utente root.)
sudo -u www-data crontab -e
E aggiungi lavori Mautic Cron come di seguito.
###### Mautic Cron Jobs ####### # update segments every 15 minutes * * * * * php7.4 /var/www/mautic/bin/console mautic:segments:update > /dev/null # update campaigns every 15 minutes starting with an offset of 5 minutes at the beginning of each hour 5-59/15 * * * * php7.4 /var/www/mautic/bin/console mautic:campaigns:update > /dev/null # execute campaigns events every 15 minutes with an offset of 10 minutes 10-59/15 * * * * php7.4 /var/www/mautic/bin/console mautic:campaigns:trigger > /dev/null # process email queue 2-59/15 * * * * php7.4 /var/www/mautic/bin/console mautic:emails:send > /dev/null # import list in the background * * * * * php7.4 /var/www/mautic/bin/console mautic:import > /dev/null # Fetch bounce messages @hourly php7.4 /var/www/mautic/bin/console mautic:email:fetch # update MaxMind GeoLite2 IP Database once a week @weekly php7.4 /var/www/mautic/bin/console mautic:iplookup:download > /dev/null
Se hai una campagna e-mail transazionale che deve inviare e-mail immediatamente, dovresti aggiungere una riga come la seguente per eseguire la campagna ogni minuto.
# execute transactional campaign every minute. * * * * * php7.4 /var/www/mautic/bin/console mautic:campaign:trigger -i campaign_id > /dev/null
Puoi trovare l'ID campagna dopo aver creato una campagna.
Salva e chiudi il file.
Si noti che i lavori cron Mautic possono utilizzare una discreta quantità di risorse CPU e RAM. Se Mautic e iRedMail sono installati su un server con 2 GB di RAM, non dovresti distribuire programmi aggiuntivi sul server, oppure puoi scegliere di aggiornare le specifiche del server.
Passaggio 10:scarica il database di ricerca IP
Per conoscere la geolocalizzazione dell'abbonato, è necessario scaricare il database di ricerca IP GeoLite2 gratuito di MaxMind.
Innanzitutto, devi creare un account su MaxMind. Maxmind ti invierà un'e-mail. Fare clic sul collegamento nell'e-mail per impostare una password, quindi accedere al proprio account MaxMind. Quindi, seleziona My License Key
sulla barra di sinistra.
Fai clic su Genera nuova chiave di licenza pulsante.
Assegna un nome alla tua chiave di licenza. Quindi scegli No
, perché non è necessario utilizzare il geoipupdate
programma. Quindi fai clic su Confirm
pulsante.
Una volta creata la chiave di licenza, copia la chiave di licenza. Vai alla dashboard di Mautic, fai clic sull'icona a forma di ingranaggio nell'angolo in alto a destra e seleziona configuration
. In System settings
scheda, scorri verso il basso fino a Miscellaneous Settings
.
- Seleziona Download di Maxmind GeoLite2 City per il servizio di ricerca IP
- Nel
IP lookup service authentication
campo, inserisci il tuo indirizzo email Maxmind e la chiave di licenza Maxmind in questo modo:[email protected]:JNQEpLFM8OCudQ==
Devi usare i due punti come delimitatore.
Quindi, fai clic su Recupera archivio dati di ricerca IP pulsante. Infine, fai clic su Applica pulsante nell'angolo in alto a destra.
Fase 11:installa JavaScript di monitoraggio
Nelle tracking settings
scheda, puoi trovare uno snippet di codice che puoi aggiungere al tuo sito web per monitorare i visitatori. Se utilizzi WordPress, copia questo snippet di codice e incollalo nel footer.php
file nella cartella del tema di WordPress.
Tieni presente che devi accedere alle Impostazioni di sistema scheda e aggiungi l'indirizzo del tuo sito web nelle impostazioni CORS affinché il JavaScript di monitoraggio funzioni.
Già che ci sei, dovresti anche impostare il fuso orario predefinito in questa pagina.
Fai clic su Applica pulsante. Nota:ho scoperto che devo aspettare un po' di tempo prima che l'impostazione del fuso orario abbia effetto. Puoi svuotare la cache di Mautic con il seguente comando affinché l'impostazione del fuso orario abbia effetto immediato.
sudo rm /var/www/mautic/app/cache/* -rf
Per verificare se funziona, puoi utilizzare un altro dispositivo per visitare il tuo sito Web, quindi andare alla dashboard di Mautic. Se funziona, dovrebbero esserci nuove visite alla pagina visualizzate nella dashboard.
Importazione di contatti in Mautic
Controlla la pagina di importazione dei contatti Mautic. Quando importi i contatti da un file CSV, puoi scegliere il proprietario del contatto, segmento di contatti e tag. Puoi anche abbinare la colonna del file CSV ai campi dei contatti Mautic esistenti.
Tieni presente che quando importi un elenco di grandi dimensioni (più di mille contatti) in Mautic, dovresti scegliere l'importazione in background anziché l'importazione nel browser. Questo perché il tempo di esecuzione massimo predefinito di PHP è di 30 secondi, ma l'importazione di un elenco di grandi dimensioni può richiedere diversi minuti, quindi verrà interrotto dal limite PHP se scegli di importare nel browser.
Se il processo di importazione sembra non fare alcun progresso, puoi provare a importarlo dalla riga di comando. Potrebbe darti un'idea del perché non sta facendo progressi.
sudo -u www-data php7.4 /var/www/mautic/bin/console mautic:import
Una colonna nel file CSV non dovrebbe contenere troppi caratteri (non più di 170 caratteri, credo), altrimenti l'importazione potrebbe non riuscire e l'errore "Si è verificato un errore nel database:EntityManager è chiuso" verrà visualizzato nella riga di comando .
Come inviare e-mail in Mautic
In Mautic, puoi utilizzare 3 tipi di campagne email:
- campagna automatizzata :per l'automazione del marketing
- Campagna manuale :trasmette email a un intero segmento
- Campagna RSS :se hai installato il plug-in RSS per e-mail
In Mautic, non esiste un concetto come un elenco di e-mail. Devi importare i contatti e raggrupparli in segmenti.
Come creare una campagna automatizzata (automazione del marketing)
- Vai a
Contacts
scheda e importa i tuoi contatti in Mautic. - Vai al
Segment
scheda per creare un segmento - Aggiungi i contatti nel segmento.
- Vai a
Channels
->Email
and create the template emails that you want to send to subscribers. - Go to the
Campaigns
tab to create a campaign. The campaign builder allows you to create automated campaigns. Assign a segment to the campaign. - Publish the campaign and you are done. Wait for the Emails to be sent.
How to Create Manual Campaign (Broadcast Emails)
Go to Channels
-> Email
, click the New
button to create a new Segment Email.
- Segment Emails can be sent manually (broadcast)
- Template emails can not be sent manually. They are used with automated campaigns.
Once the segment email is created, you can click the send button to broadcast the emails to your subscribers.
How to Integrate with Twilio SMS Marketing
Twilio allows you to programmatically make and receive phone calls, send and receive text messages using its web service APIs. Go to Twilio.com to create an account (You will get $15.50 trial credit). Then go to Mautic Settings
-> Plugins
. Click the Install/Upgrade Plugins
pulsante. The Twilio plugin will show up. Click on it. Then
- Change the published status from No to Yes.
- Enter your Twilio account SID
- Enter your Twilio Auth Token
- Go to your Twilio account to get a trial phone number , copy the number and paste it to the Sending Phone Number field in Mautic.
Click the Save & close
pulsante. Now if you create a campaign in the campaign builder, you have the option to send SMS text messages.
And you have a new item called text messages
under the channels
tab.
Note that phone numbers stored in Mautic should have the + sign with the contact’s country code like +44 . If there’s no + sign, Mautic will automatically add the US country code (+1).
How to Handle SMS Subscriptions
If you a user don’t want to receive your SMS messages, you need to allow the user to unsubscribe from your SMS campaign. This can be achieved via the Mautic SMS reader plugin. To install this plugin, run
cd /var/www/mautic/plugins/ sudo git clone https://github.com/nebev/mautic-sms-reader.git sudo mv mautic-sms-reader SmsreaderBundle
Clear the Mautic application cache.
sudo -u www-data php7.4 /var/www/mautic/bin/console cache:clear
Then go to Mautic Settings
-> Plugins
. Click the Install/Upgrade Plugins
pulsante. The Smsreader
plugin will show up. Next, log out and log back in. You will see the Twilio SMS Reader
menu item in Settings. Enter your Twilio Account SID and the unsubscribe/re-subscribe keywords.
Unable to Send SMS?
If Mautic is unable to send SMS, and you see the following error message in the Cron job.
PHP Warning: Use of undefined constant CURLOPT_URL - assumed 'CURLOPT_URL'
It’s because your server is missing the PHP CURL extension. You can fix this error with the following command.
sudo apt install php7.4-curl
Automatic Bounce Handling
You can use the Monitored Inbox feature in Mautic to automatically remove email address from Mautic. Go to Mautic configuration
-> Email settings
-> Monitored Inbox
. Enter your mailbox login credentials, then test connection and fetch folders.
Once the connection is successful, you can select the folder to monitor for bounce messages. Note that you need to create the folder as a sub-foler of the main inbox
folder in your mailbox, otherwise you might see “the value is not valid
” error when selecting the folder to check. If you use the Roundcube webmail, you can go to the Roundcube settings
-> Folders
to create the sub folder (Inbox.bounces).
Then Mautic will allow you to choose the INBOX.bounces
as the folder to check. Click the Save and close
pulsante. In Roundcube, you can create a filter to automatically put bounce messages into the Inbox.bounces folder. The filter rule is as follows:
- Subject contains “Undelivered Mail Returned to Sender”
- To contains “[email protected]”
Next, you can run the following command on your server, so Mautic can fetch the bounce messages from the mailbox.
sudo -u www-data php7.4 /var/www/mautic/bin/console mautic:email:fetch
This command is already in the Cron jobs, so you don’t have to run it manually every day.
By default, bounced email addresses won’t be automatically remove from Mautic, but will be labeled as Do not Contact
, so Mautic won’t send emails to those addreses. If you want to remove them, you can create a segment called bounced emails
with the filter Bounce - Email equals Yes
.
Segment will be updated by Cron jobs.
Next, you can create a campaign in Mautic to automatically delete the contacts in the bounced email
segment.
Can’t Open the HTML Code Editor in Page Builder?
Since Mautic 4.0, the landing page builder uses the GraphJS framework and one of the problems is that you can open the HTML code editor only once. If you want to re-edit the code, it refuses to load the editor.
The trick is that you need to press F5 to refresh the web page and open the page builder again, then you will be able to open the HTML code editor.
Mautic PHP Console Commands
The Mautic Cron jobs are several PHP console commands. There are also other commands you might find useful. List available commands with:
sudo -u www-data php7.4 /var/www/mautic/bin/console
For example, you can update Mautic from the command line.
sudo -u www-data php7.4 /var/www/mautic/bin/console mautic:update:find sudo -u www-data php7.4 /var/www/mautic/bin/console mautic:update:apply
The console in a PHP web application is usually available as bin/console
, app/console
, or console.php
. Not every PHP web application provides console commands. The available commands are not the same for different web applications. For instance, some allow you to create users and reset passwords, while others may not allow you to do so.
Tips
- If you use Adblocker, please disable it on your Mautic URL, or you might have problems editing landing pages in Mautic.
- If you use Mautic in a production environment, it’s recommended that you wait some time to upgrade to the next version. For example, when version
4.3
comes out, I stay with version4.2
. I only upgrade to version4.3
when version4.4
comes out.