Nainštalujte Mailtrain v1.24 na server Ubuntu 20.04 bez Dockera


Tento tutoriál vám ukáže, ako nainštalovať Mailtrain na Ubuntu 20.04 bez Docker. Mailtrain je open-source samoobslužná aplikácia na zasielanie noviniek, alternatíva ku komerčným poskytovateľom e-mailových služieb, ako je Mailchimp. Mailtrain môžete použiť na odosielanie noviniek svojim e-mailovým predplatiteľom prostredníctvom vášho vlastného e-mailového servera alebo pomocou akejkoľvek prenosovej služby SMTP (Mailjet, SendGrid, AmazonSES, Mailgun atď.).

Aktualizácia: Mailtrain V2 je vydaný. Noví používatelia by mali používať V2 namiesto V1.24: Ako nainštalovať Mailtrain v2 na server Ubuntu 20.04

Mailtrain je vydaný za podmienok licencie GPL v3.0 postavenej na Node.js a MySQL/MariaDB. Najnovšia verzia je v1.24.1, vydaná 28. septembra 2018. Funkcie Mailtrain sú nasledovné:

  • Umožňuje vám jednoducho spravovať veľké zoznamy adries (napríklad 1 milión predplatiteľov).
  • Predplatiteľov môžete pridať manuálne, prostredníctvom rozhrania API alebo importovať zo súboru CSV.
  • Podporuje vlastné polia (textové polia, čísla, rozbaľovacie alebo začiarkavacie políčka), zlučovacie značky a vlastné formuláre.
  • Segmentácia zoznamu.
  • RSS kampaň: automaticky generujte newsletter z RSS kanála a posielajte ho predplatiteľom.
  • Predplatitelia môžu nahrať svoje verejné kľúče GPG a Mailtrain za nich zašifruje newsletter.
  • Umožňuje vám kontrolovať jednotlivé štatistiky kliknutí pre každý odkaz.
  • Pokročilé editory e-mailových šablón a editor HTML kódu.
  • Automatizácia: odosielanie konkrétnych e-mailov, keď používateľ aktivuje váš preddefinovaný spúšťač.
  • Môžete vytvoriť otvorený zoznam e-mailov (umožniť verejné odbery) a uzavretý zoznam e-mailov (predplatiteľov pridáva do zoznamu správca).
  • Umožňuje vám obnoviť staré e-mailové kampane (odoslať staré kampane novým odberateľom).

Krok 1: Vyberte si správneho poskytovateľa hostingu

Self-hosting vám môže ušetriť veľa peňazí. Mailtrain je bezplatný softvér s otvoreným zdrojovým kódom. Stačí zaplatiť 26 USD mesačne za VPS (virtuálny súkromný server), ktorý môže prevádzkovať plnohodnotný poštový server a e-mailovú marketingovú platformu Mailtrain. Ľahko zvládne milióny predplatiteľov. Takže vaše celkové náklady sú vždy 26 USD mesačne bez ohľadu na to, koľko odberateľov máte. Ak vlastníte milióny predplatiteľov na MailChimp, náklady by boli tisíce dolárov mesačne.

Nájsť poskytovateľa VPS (Virtual Private Server) vhodného pre e-mailový hosting a e-mailový marketing nie je ľahká úloha. Mnoho hostingových spoločností, ako napríklad DigitalOcean, blokuje port 25. DigitalOcean neodblokuje port 25, takže budete musieť nastaviť prenos SMTP, aby ste obišli blokovanie, čo vás môže stáť ďalšie peniaze. Ak používate Vultr VPS, port 25 je predvolene zablokovaný. Môžu ho odblokovať, ak otvoríte lístok podpory, ale môžu ho kedykoľvek znova zablokovať, ak sa rozhodnú, že vaša aktivita pri odosielaní e-mailov nie je povolená. Vultr ho môže v skutočnosti znova zablokovať, ak používate ich servery na odosielanie bulletinov.

Ďalším problémom je, že veľkí známi poskytovatelia hostingu ako DigitalOcean alebo Vultr sú zneužívaní spamermi. IP adresa servera je často na niekoľkých čiernych listinách. Vultr má niektoré celé rozsahy IP na čiernej listine.

ScalaHosting je veľmi dobrá možnosť na spustenie poštového servera, pretože

  • Neblokujú port 25.
  • IP adresa nie je na žiadnej e-mailovej čiernej listine. (Aspoň to platí v mojom prípade. Vybral som si dátové centrum Dallas.) Určite nechcete byť uvedený na obávanej čiernej listine IP aplikácie Microsoft Outlook alebo na čiernej listine SpamRats. Niektoré čierne listiny blokujú celý rozsah IP adries a nemáte možnosť odstrániť svoju IP adresu z tohto druhu čiernych zoznamov.
  • Záznam PTR môžete upraviť, aby ste zlepšili doručovanie e-mailov.
  • Umožňujú vám posielať newslettery vašim e-mailovým odberateľom s žiadnymi hodinovými alebo dennými limitmi. Upozorňujeme, že nemáte povolené odosielať spam, známy aj ako nevyžiadané hromadné e-maily. Ak vám príjemca výslovne neudelí povolenie na odosielanie e-mailov a vy mu posielate e-maily, ide o nevyžiadaný e-mail.

Ak chcete správne nastaviť server Linux VPS na serveri ScalaHosting, odporúčam vám postupovať podľa nižšie uvedeného návodu. Ak sa rozhodnete platiť 12 mesiacov vopred, použite kód kupónu linux-terminal2021 naplatobnej stránke ScalaHosting a ušetrite 100 $.

  • Ako vytvoriť Linux VPS server na ScalaHosting

Potrebujete tiež názov domény. Zaregistroval som si názov svojej domény od NameCheap, pretože cena je nízka a poskytujú vám ochranu súkromia whois na celý život.

Ak ešte nemáte vlastný poštový server, odporúčam použiť bezplatný program iRedMail na rýchle nastavenie vlastného poštového servera pred inštaláciou Mailtrain, aby ste nemuseli míňať peniaze na komerčnú službu prenosu SMTP.

Krok 2: Nainštalujte databázový server MariaDB

Údaje o vašich predplatiteľoch budú uložené v databáze. Mailtrain podporuje MySQL a MariaDB. MariaDB je náhradná náhrada za MySQL. Je vyvinutý bývalými členmi tímu MySQL, ktorí sa obávajú, že Oracle môže zmeniť MySQL na uzavretý produkt. Takže poďme nainštalovať databázový server MariaDB.

Zadajte nasledujúci príkaz a nainštalujte ho na Ubuntu 20.04.

sudo apt install mariadb-server mariadb-client

Po nainštalovaní by sa server MariaDB mal automaticky spustiť. Pomocou systemctl skontrolujte jeho stav.

systemctl status mariadb

Ukážkový výstup:

● mariadb.service - MariaDB 10.3.22 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: e>
     Active: active (running) since Mon 2020-04-20 15:31:14 HKT; 52s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 1826628 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 30 (limit: 9451)
     Memory: 73.0M
     CGroup: /system.slice/mariadb.service
             └─1826628 /usr/sbin/mysqld

Ak nie je spustený, spustite ho týmto príkazom:

sudo systemctl start mariadb

Ak chcete povoliť automatické spustenie MariaDB pri spustení systému, spustite

sudo systemctl enable mariadb

Teraz spustite bezpečnostný skript po inštalácii.

sudo mysql_secure_installation

Keď sa zobrazí výzva na zadanie koreňového hesla MariaDB, stlačte kláves Enter, pretože heslo používateľa root ešte nie je nastavené. Potom zadajte y a nastavte heslo root pre server MariaDB.

Potom môžete stlačením klávesu Enter odpovedať na všetky zostávajúce otázky, čím sa odstráni anonymný používateľ, zakáže sa vzdialené prihlásenie root a odstráni sa testovacia databáza. Tento krok je základnou požiadavkou pre bezpečnosť databázy MariaDB. (Všimnite si, že písmeno Y je veľké, čo znamená, že ide o predvolenú odpoveď.)

mariadb --version

Výkon :

mariadb  Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Krok 3: Vytvorte databázu a používateľa pre Mailtrain

Teraz sa musíme prihlásiť do konzoly MariaDB a vytvoriť databázu a používateľa pre Mailtrain. Balík MaraiDB na Ubuntu štandardne používa unix_socket na overenie prihlásenia používateľa, čo v podstate znamená, že na prihlásenie do konzoly MariaDB môžete použiť používateľské meno a heslo operačného systému. Takže môžete spustiť nasledujúci príkaz na prihlásenie bez zadania rootovského hesla MariaDB.

sudo mariadb -u root

Vytvorte databázu pre Mailtrain pomocou nasledujúceho príkazu. Nazval som ho mailtrain, ale môžete použiť ľubovoľný názov. (Nevynechávajte bodkočiarku.)

create database mailtrain;

Potom zadajte príkaz nižšie na vytvorenie používateľa databázy pre Mailtrain a udeľte používateľovi všetky privilégiá databázy mailtrain. Nahraďte mtuser a vaše-heslo preferovaným používateľským menom a heslom.

grant all privileges on mailtrain.* to mtuser@localhost identified by 'mtuser_password';

Ďalej vytvorte používateľa s prístupom len na čítanie k databáze poštových vlakov. Tohto používateľa som pomenoval mt_readonly.

grant select on mailtrain.* TO mt_readonly@localhost identified by 'mt_readonly_password';

Vypláchnite tabuľku privilégií, aby sa zmeny prejavili, a potom vystúpte z konzoly MariaDB.

flush privileges;

exit;

Krok 4: Nainštalujte Node.js

Mailtrain je postavený na Node.js, čo je JavaScript run-time prostredie, ktoré prekladá človekom čitateľný JavaScript kód do strojového kódu. Takže musíme nainštalovať Node.js na Ubuntu 20.04, aby sme mohli spustiť Mailtrain. Mailtrain vyžaduje Node.js 7+. Najnovšia verzia Node.js je v14. Neodporúčam však používať najnovšiu verziu, pretože nie je kompatibilná s Mailtrain v1.24. Pre najlepšiu kompatibilitu odporúčam nainštalovať Node.js 8 zo Snap Store.

Ak ste si nainštalovali Node.js z oficiálneho repozitára APT, musíte ho odinštalovať, pretože by to narúšalo verziu Node.js Snap.

sudo apt remove nodejs

Potom nainštalujte démona snap.

sudo apt install snapd

V obchode Snap Store je viacero verzií Node.js, ktoré možno zobraziť pomocou:

snap info node

Výkon :

channels:
  latest/stable:    -                                                     
  latest/candidate: -                                                     
  latest/beta:      -                                                     
  latest/edge:      15.0.0-nightly2020042524a4e615 2020-04-25 (2668) 30MB classic
  14/stable:        14.0.0                         2020-04-23 (2647) 30MB classic
  14/candidate:     ↑                                                     
  14/beta:          ↑                                                     
  14/edge:          ↑                                                     
  13/stable:        13.13.0                        2020-04-14 (2635) 29MB classic
  13/candidate:     ↑                                                     
  13/beta:          ↑                                                     
  13/edge:          ↑                                                     
  12/stable:        12.16.2                        2020-04-23 (2644) 21MB classic
  12/candidate:     ↑                                                     
  12/beta:          ↑                                                     
  12/edge:          ↑                                                     
  11/stable:        11.15.0                        2019-06-26 (2336) 19MB classic
  11/candidate:     ↑                                                     
  11/beta:          ↑                                                     
  11/edge:          ↑                                                     
  10/stable:        10.20.1                        2020-04-23 (2638) 20MB classic
  10/candidate:     ↑                                                     
  10/beta:          ↑                                                     
  10/edge:          ↑                                                     
  9/stable:         9.11.2                         2018-12-14 (1407) 17MB classic
  9/candidate:      ↑                                                     
  9/beta:           ↑                                                     
  9/edge:           ↑                                                     
  8/stable:         8.16.0                         2019-06-24 (2310) 16MB classic
  8/candidate:      ↑                                                     
  8/beta:           ↑                                                     
  8/edge:           ↑                                                     
  6/stable:         6.17.1                         2019-06-24 (2311) 13MB classic
  6/candidate:      ↑                                                     
  6/beta:           ↑                                                     
  6/edge:           ↑                                                                    

Môžeme nainštalovať Node.js z kanála 8/stable.

sudo snap install node --classic --channel=8/stable

Ak chcete skontrolovať verziu Node.js a npm, spustite

node -v

npm -v

Výkon :

Poznámka: Ak je to prvýkrát, čo inštalujete balík Snap na server, musíte sa odhlásiť a znova prihlásiť, aby ste mohli používať verziu Snap Ruby.

Ak chcete zostaviť a nainštalovať natívne doplnky z npm, musíte tiež nainštalovať nástroje na zostavovanie:

sudo apt install -y build-essential

Krok 5: Spustite Mailtrain

Prejdite na /var/www/ a načítajte súbory Mailtrain z Github.

cd /var/www/

sudo git clone https://github.com/Mailtrain-org/mailtrain.git

Importujte počiatočné údaje SQL do databázy poštového vlaku pomocou nasledujúceho príkazu. Musíte zadať heslo mtuser.

mariadb -u mtuser -p mailtrain < /var/www/mailtrain/setup/sql/mailtrain.sql

Vytvorte konfiguračný súbor production.toml.

sudo nano /var/www/mailtrain/config/production.toml

V tomto súbore môžete pridať konfigurácie, ktoré prepíšu predvolené konfigurácie v súbore /var/www/mailtrain/config/default.toml. Potrebujeme pridať iba nasledujúce konfigurácie.

user="mailtrain"
group="mailtrain"
[log]
level="error"
[www]
secret="Replace this with some random characters"
[mysql]
user="mtuser"
password="mtuser_password"
[queue]
processes=5

Uložte a zatvorte súbor. Potom vytvorte používateľa a skupinu mailtrain pre démona poštového vlaku, ktorý bude spustený ako. Upozorňujeme, že pre tohto používateľa nemusíme vytvárať heslo, takže namiesto bežného používateľa vytvoríme systémového používateľa.

sudo adduser --system --group mailtrain

Vytvorte konfiguračný súbor pre pracovníka zostavy.

sudo nano /var/www/mailtrain/workers/reports/config/production.toml

Pridajte nasledujúce konfigurácie. Tento pracovník správy bude mať prístup len na čítanie k databáze poštových vlakov.

[log]
level="error"
[mysql]
user="mt_readonly"
password="mt_readonly_password"

Uložte a zatvorte súbor. Potom zmeňte oprávnenie /var/www/mailtrain/.

sudo chown mailtrain:mailtrain /var/www/mailtrain/ -R

sudo chmod o-rwx /var/www/mailtrain/config/

Nainštalujte Python2.7 a vytvorte symbolický odkaz.

sudo apt install python2.7

sudo ln -s /usr/bin/python2.7 /usr/bin/python

A nainštalujte požadované balíčky uzlov.

cd /var/www/mailtrain

sudo -u mailtrain npm config set scripts-prepend-node-path true

sudo -u mailtrain npm install --no-progress --production --unsafe-perm=true

Skopírujte súbor servisnej jednotky Mailtrain systemd do adresára /etc/systemd/system/.

sudo cp /var/www/mailtrain/setup/mailtrain.service /etc/systemd/system/

Otvorte tento súbor.

sudo nano /etc/systemd/system/mailtrain.service

Zmeňte /opt/mailtrain na /var/www/mailtrain. A zmeňte /usr/bin/node na /snap/bin/node, pretože používame Snap verziu Node.js.

Môžete tiež komentovať nasledujúci riadok. Pretože ak je povolený nasledujúci riadok, ak sa reštartuje MySQL/MariaDB, reštartuje sa aj mailtrain.service a ak sa aktualizuje server MySQL/MariaDB, potom mailtrain.service kód> sa zastaví. Myslím, že nie je potrebné vyžadovať službu mysql.service.

Requires=mysql.service

Uložte a zatvorte tento súbor. Potom spustite mailtrain.service.

sudo systemctl start mailtrain.service

Skontrolujte jej stav. Uistite sa, že beží.

systemctl status mailtrain.service

Výkon :

● mailtrain.service - Mailtrain server
     Loaded: loaded (/etc/systemd/system/mailtrain.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-04-26 10:26:37 HKT; 11s ago
   Main PID: 3058360 (mailtrain)
      Tasks: 20 (limit: 9451)
     Memory: 228.6M
     CGroup: /system.slice/mailtrain.service
             ├─3058360 mailtrain
             └─3058396 /snap/node/2310/bin/node /var/www/mailtrain/services/sender.js

Povoliť automatické spustenie pri spustení systému.

sudo systemctl enable mailtrain.service

Teraz, keď je Mailtrain spustený, máte prístup k webovému rozhraniu Mailtrain cez port 3000.

your-server-ip:3000

Krok 6: Nastavte reverzný proxy a povoľte HTTPS

Pred použitím webového rozhrania Mailtrain ho umiestnime za Nginx a potom povoľte HTTPS. Nainštalujte webový server Nginx na Ubuntu 20.04 pomocou:

sudo apt install nginx

Teraz môžete skopírovať vzorový súbor mailtrain-nginx.conf do adresára /etc/nginx/conf.d/.

sudo cp /var/www/mailtrain/setup/mailtrain-nginx.conf /etc/nginx/conf.d/

Otvorte tento súbor.

sudo nano /etc/nginx/conf.d/mailtrain-nginx.conf

Nájdite nasledujúci riadok.

server_name mailtrain.org www.mailtrain.org;

Zmeňte hodnotu parametra názov_serveru na názov svojej vlastnej domény, napríklad newsletter.your-domain.com. Nezabudnite vytvoriť DNS A záznam pre túto subdoménu.

server_name newsletter.linux-terminal.com;

Uložte a zatvorte súbor. Potom otestujte konfigurácie Nginx.

sudo nginx -t

Ak je test úspešný, znova načítajte Nginx, aby sa zmeny prejavili.

sudo systemctl reload nginx

Teraz by ste mali mať prístup k webovému rozhraniu Mailtrain cez vašu subdoménu: newsletter.your-domain.com.

Teraz upravte súbor /var/www/mailtrain/config/production.toml.

sudo nano /var/www/mailtrain/config/production.toml

V sekcii [www] pridajte nasledujúce dva riadky, aby ste označili, že poštový vlak je za serverom proxy Nginx a nechajte ho počúvať iba na adrese lokálneho hostiteľa.

host="127.0.0.1"
proxy=true

Uložte a zatvorte súbor. Potom reštartujte Mailtrain, aby sa zmena prejavila.

sudo systemctl restart mailtrain

Krok 7: Povoľte HTTPS pomocou Let's Encrypt

Nainštalujte klienta Let’s Encrypt (certbot) na server Ubuntu 20.04.

sudo apt install certbot python3-certbot-nginx

Potom môžete použiť doplnok Nginx na automatické získanie a inštaláciu certifikátu TLS vykonaním nasledujúceho príkazu.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email  -d newsletter.your-domain.com

Teraz máte prístup k webovému rozhraniu Mailtrain prostredníctvom názvu vašej domény a zabezpečeného pripojenia HTTPS.

Príkaz htop mi hovorí, že môj server používa približne 500 MB RAM. Ak spustím Mailtrain s Dockerom, je to asi 900 MB.

Prihláste sa pomocou používateľského mena admin a hesla test. Potom zmeňte e-mailovú adresu účtu a heslo. Ak chcete zmeniť predvolené konfigurácie, prejdite na stránku nastavenia. Mali by ste zmeniť adresu služby z http://localhost:3000/ na svoju subdoménu (https://newsletter.your-domain.com).

V Nastavenia pošty môžete použiť SMTP, ak máte vlastný e-mailový server alebo používate Amazon SES. V skutočnosti môžete použiť aj iné prenosové služby SMTP na karte SMTP. Na obrázku nižšie používam svoj vlastný e-mailový server. E-maily sa budú odosielať na porte 587 so šifrovaním STARTTLS.

Ak je na vašom e-mailovom serveri nainštalovaný Mailtrain, mali by ste použiť nasledujúce nastavenia SMTP. Názov hostiteľa by mal byť 127.0.0.1 a port by mal byť 25. Pri komunikácii s lokálnym hostiteľom nie je potrebné povoliť šifrovanie ani autentifikáciu.

Uložte nastavenia. Potom môžete vytvoriť zoznam na testovanie funkcií Mailtrain.

Ako povoliť vyrovnávaciu pamäť Redis

Môžete nainštalovať server Redis pre vyrovnávaciu pamäť relácie. To umožní Mailtrain spustiť 5 procesov namiesto predvoleného jedného procesu, čo urýchli doručovanie e-mailov, ak máte veľa odberateľov e-mailov (Všimnite si, že sa tým zvýši využitie pamäte približne na 250 MB).

sudo apt install redis

Po nainštalovaní by sa mal Redis automaticky spustiť. Jeho stav môžete skontrolovať pomocou:

systemctl status redis

Ukážkový výstup:

● redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-04-26 11:02:03 HKT; 4min 23s ago
       Docs: http://redis.io/documentation,
             man:redis-server(1)
   Main PID: 3059455 (redis-server)
      Tasks: 4 (limit: 9451)
     Memory: 2.3M
     CGroup: /system.slice/redis-server.service
             └─3059455 /usr/bin/redis-server 127.0.0.1:6379

Ak nie je spustený, môžete ho spustiť pomocou:

sudo systemctl start redis

Povoliť automatické spustenie pri štarte:

sudo systemctl enable redis

Ďalej upravte konfiguračný súbor Mailtrain.

sudo nano /var/www/mailtrain/config/production.toml

Pridajte nasledujúce dva riadky na koniec súboru, aby ste povolili Redis.

[redis]
enabled=true

Uložte a zatvorte súbor. Potom reštartujte Mailtrain.

sudo systemctl restart mailtrain

Ako zaobchádzať s nedoručenými správami v Mailtrain

Váš e-mailový zoznam bude skôr alebo neskôr obsahovať adresy, na ktoré nemôžete posielať e-maily. Napríklad, keď predplatiteľ, ktorý používa firemnú e-mailovú adresu, opustí spoločnosť, táto e-mailová adresa bude vymazaná. Váš e-mailový server teda dostane správu o nedoručení, že e-mail nie je možné doručiť.

Ak na odosielanie e-mailov používate prenosovú službu SMTP, správy o nedoručení budú spracovávať za vás. Ak na odosielanie e-mailov používate svoj vlastný e-mailový server, musíte správy o nedoručení spracovávať v službe Mailtrain. Mailtrain ponúka dva spôsoby spracovania vrátených správ.

  • cez VERP
  • cez denník Postfix

Osobne používam metódu VERP, pretože je široko používaná v e-mailovej komunite a tiež preto, že druhá metóda spôsobuje vysoké využitie procesora na mojom serveri.

VERP Bounce Handling

S VERP (variabilná návratová cesta obálok) váš správca zoznamu e-mailov používa jedinečné adresy obálok pre každého predplatiteľa. Ak chcete povoliť VERP, upravte súbor production.toml.

sudo nano /var/www/mailtrain/config/production.toml

Ak váš hostiteľ Mailtrain nemá spustený server SMTP, pridajte nasledujúci text.

[verp]
enabled=true
port=25
disablesenderheader=true

Ak váš server Mailtrain má spustený server SMTP ako Postfix, pridajte nasledujúci text. Server na spracovanie okamžitých odchodov bude počúvať na 127.0.0.1:2525.

[verp] 
enabled=true 
port=2525 
host="127.0.0.1"
disablesenderheader=true

Uložte a zatvorte súbor. Potom reštartujte Mailtrain, aby sa zmeny prejavili.

sudo systemctl restart mailtrain

Vo webovom rozhraní Mailtrain prejdite na Nastavenia -> VERP Bounce Handling. Začiarknite políčko Použiť VERP na zachytenie odrazov. Uložte nastavenia.

Ďalej musíte vytvoriť záznam MX pre názov hostiteľa servera (bounces.your-domain.com), potom pridať záznam pre tento názov hostiteľa, ktorý ukazuje na vášho hostiteľa Mailtrain, aby bolo možné odosielať správy o nedoručení vášmu hostiteľovi Mailtrain. Každý odberateľ vo vašom zozname bude mať jedinečnú obálkovú adresu, napríklad [email .

Upozorňujeme, že ak ste nasadili záznam DMARC pre názov svojej domény, zarovnanie SPF musí byť nastavené na uvoľnený režim. Ak je nastavený na prísny režim, váš bulletin môže zlyhať pri kontrole DMARC.

Ak server na spracovanie nedoručených správ Mailtrain počúva na porte 2525 127.0.0.1 a server Postfix SMTP počúva na porte 25 verejnej IP adresy, potom musíte nastaviť transportnú mapu, aby Postfix mohol odoslať správu o nedoručení do Mailtrain. Vytvorte súbor dopravnej mapy.

sudo nano /etc/postfix/transport

Pridajte do tohto súboru nasledujúci riadok. Toto povie Postfixu, aby posielal e-maily s adresou ako [e-mail chránený] na server na spracovanie nedoručených správ.

bounces.your-domain.com  smtp:[127.0.0.1]:2525

Uložte a zatvorte súbor. Potom vygenerujte indexový súbor.

sudo postmap /etc/postfix/transport

Upravte hlavný konfiguračný súbor Postfixu.

sudo nano /etc/postfix/main.cf

Pridajte do súboru nasledujúci riadok.

transport_maps = hash:/etc/postfix/transport

Poznámka: Ak ste na nastavenie poštového servera použili iRedMail, parameter transport_maps má iné hodnoty. Hodnotu by ste mali pripojiť na koniec, ako je uvedené nižšie.

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

Uložte a zatvorte súbor. Potom reštartujte Postfix, aby sa zmena prejavila.

sudo systemctl restart postfix

Spracovanie vrátených správ cez Postfix Log

Mailtrain je schopný detekovať vrátené správy z Postfixu tak, že nájde riadky, ktoré obsahujú status=bounced. Najprv musíte povoliť server na čítanie denníkov Postfixu. Upravte súbor production.toml.

sudo nano /var/www/mailtrain/config/production.toml

Pridajte nasledujúci text.

[postfixbounce]
enabled=true

Uložte a zatvorte súbor. Potom reštartujte Mailtrain, aby sa zmeny prejavili.

sudo systemctl restart mailtrain

Teraz čítací server Postfixu počúva na 127.0.0.1:5699. Ak chcete nechať čítať denník Postfixu, spustite nasledujúci príkaz.

tail -F /var/log/mail.log | nc localhost 5699 -

Ak chcete, aby bežal na pozadí, môžete vytvoriť servisnú jednotku systemd.

sudo nano /etc/systemd/system/bouncetail.service

Pridajte nasledujúci text.

[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

Uložte a zatvorte súbor. Potom spustite túto službu a povoľte automatické spustenie pri spustení.

sudo systemctl start bouncetail

sudo systemctl enable bouncetail

Po reštartovaní služby mailtrain nezabudnite reštartovať službu bouncetail. Zistil som, že služba bouncetail spôsobuje vysoké využitie procesora na mojom serveri, takže túto metódu nepoužívam.

Aktualizovať

Po určitom čase používania Mailtrain na mojom vlastnom serveri som zistil, že sú to iné dôvody, ktoré spôsobujú vracanie e-mailov. Nasledujú mäkké odrazy.

  • Schránka príjemcu je plná.
  • Vaša IP adresa je na čiernej listine.
  • E-mailový server príjemcu nefunguje alebo je offline.

Existuje tiež tvrdý bounce, t. j. e-mailová adresa príjemcu neexistuje. V predvolenom nastavení Mailtrain zruší odber e-mailovej adresy, ak sa zistí jedno nedoručenie, čo je v poriadku pre tvrdé vrátenia, ale je dobré povoliť niekoľko mäkkých vrátení predtým, ako zrušíte odber chybnej e-mailovej adresy.

Ak chcete obísť zoznam zakázaných e-mailov, prečítajte si nasledujúci článok.

  • Ako obísť čiernu listinu IP aplikácie Microsoft Outlook a ďalšie čierne listiny

Ak ste zmenili nastavenia odosielania SMTP v Mailtrain, ale zdá sa, že stále používate staré nastavenia, mali by ste skúsiť reštartovať Mailtrain a Redis.

sudo systemctl restart mailtrain redis-server

Ako znova posielať e-maily s nedoručením

Ak si myslíte, že niektoré vrátené e-maily sú spôsobené technickými chybami na vašom poštovom serveri, potom môžete e-maily s nedoručením znova posielať v Mailtrain.

Najprv musíte poznať ID kampane, ktoré možno nájsť v adrese URL kampane, ako je táto: https://newsletter.linux-terminal.com/campaigns/view/818. ID kampane je 818.

Potom sa prihláste do konzoly MariaDB/MySQL:

sudo mysql -u root

Vyberte databázu poštových vlakov.

use mailtrain;

Zobrazte tabuľku kampaní.

select * from campaign__818;

Ukážkový výstup:

MariaDB [mailtrain]> select * from campaign__818;
+-----+------+---------+--------------+--------+---------------------------------------------+
| id  | list | segment | subscription | status | response                                    | 
+-----+------+---------+--------------+--------+---------------------------------------------+
|   1 |    1 |      10 |         6194 |      1 | 250 2.0.0 Ok: queued as DC5E4660FAE         |
|   2 |    1 |      10 |         6560 |      3 | Greeting never received                     |
|   3 |    1 |      10 |         6616 |      1 | 250 2.0.0 Ok: queued as 2CA9C660FB1         |
|   4 |    1 |      10 |         6750 |      3 | Greeting never received                     | 
|   5 |    1 |      10 |         6870 |      3 | Greeting never received                     |

Toto zobrazí stav každého odoslaného e-mailu. Stav 3 znamená, že e-mail bol vrátený. Odstráňte vrátený záznam z tabuľky.

DELETE FROM campaign__818 WHERE status = 3;

Teraz môžete kliknúť na tlačidlo Pokračovať na stránke kampane Mailtrain a znova odoslať e-maily vráteným príjemcom.

Nahrávanie obrázkov v Mailtrain

Ak chcete nahrať obrázky do Mailtrain, musíte si nainštalovať balík imagemagick. Bez neho môže Mailtrain pri odovzdávaní obrázkov vyvolať chyby.

sudo apt install imagemagick

Ako vložiť registračný formulár na svoj web

Najprv musíte povoliť zdieľanie zdrojov medzi zdrojmi. Upravte súbor production.toml.

sudo nano /var/www/mailtrain/config/production.toml

Pridajte do súboru nasledujúci riadok a pridajte svoj web na bielu listinu.

[cors]
# Allow subscription widgets to be embedded
origins=['https://www.example.com']

Uložte a zatvorte súbor. Potom reštartujte Mailtrain, aby sa zmena prejavila.

sudo systemctl restart mailtrain

Potom pridajte na svoj web nasledujúci kód, aby sa zobrazil registračný formulár. Nahraďte červený text názvom domény Mailtrain a vlastným ID zoznamu.

<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>

Potom pridajte vlastné pravidlá CSS, aby bola vizuálne príťažlivejšia.

Ako vytvoriť ďalších používateľov v Mailtrain

Mailtrain v2 umožní správcovi vytvárať viacerých používateľov s podrobnými používateľskými povoleniami a flexibilným zdieľaním. Ale s aktuálnou verziou v.1.24.1 môžete vytvárať používateľov iba prostredníctvom databázy. Prihláste sa do konzoly MySQL/MariaDB.

sudo mysql -u root

Použite databázu mailtrain.

USE mailtrain;

Potom vytvorte užívateľský záznam pomocou nasledujúceho príkazu SQL.

INSERT INTO `users` (`username`, `password`, `email`, `access_token`, `reset_token`, `reset_expire`, `created`) VALUES ('your-username',PASSWORD("your-password"),'[email ',NULL,NULL,NULL,NOW());

Ukončite databázový server.

EXIT;

Zistil som, že používatelia vytvorení týmto spôsobom sa nemôžu prvýkrát prihlásiť do webového rozhrania Mailtrain. Používatelia musia použiť odkaz „zabudnuté heslo“ na prihlasovacej stránke na obnovenie svojho hesla, potom by prihlásenie malo fungovať. Upozorňujeme tiež, že všetci používatelia majú oprávnenie správcu vo webovom rozhraní Mailtrain.

Ako importovať zoznam e-mailov z MailChimp

Najprv musíte prejsť na kartu Publikum na hlavnom paneli MailChimp. Kliknutím na tlačidlo Zobraziť kontakty zobrazíte všetkých odberateľov. Potom kliknite na tlačidlo Exportovať publikum a exportujte svoj zoznam ako súbor CSV.

Potom prejdite na informačný panel Mailtrain a vyberte svoj zoznam e-mailov. Vyberte rozbaľovacie tlačidlo Zoznam akcií a kliknite na položku Importovať odberateľov.

Na ďalšej stránke budete musieť nahrať súbor CSV stiahnutý z MailChimp.

Potom musíte priradiť polia v MailChimp k poliam vo vašom zozname e-mailov Mailtrain. Ak niektoré polia v MailChimp neexistujú v zozname e-mailov Mailtrain, môžete ich vytvoriť na hlavnom paneli Mailtrain.

Upozorňujeme, že ak vaše polia MailChimp obsahujú prepínače, mali by ste vytvoriť prepínače aj v poliach Mailtrain. Musíte však segmentovať svoj zoznam MailChimp na základe hodnoty prepínača, potom tieto segmenty exportovať do rôznych súborov CSV a importovať ich do Mailtrain po jednom segmente. Je to preto, že Mailtrain neposkytuje spôsob, ako porovnať hodnoty jednotlivých prepínačov z MailChimp.

Cron Job na automatické čistenie neprihlásených e-mailových adries

Neregistrované e-mailové adresy môžete manuálne odstrániť na webovom správcovskom paneli Mailtrain, ale oveľa efektívnejšie je odstrániť ich pomocou príkazov MySQL/MariaDB, potom stačí vytvoriť úlohu Cron na automatizáciu tejto úlohy.

Najprv sa prihláste na databázový server MySQL/MariaDB.

sudo mysql -u root

Potom sa pripojte k databáze poštových vlakov.

use mailtrain;

Informácie o predplatiteľoch sú uložené v tabuľkách predplatné. Ak máte niekoľko zoznamov adries, budete mať niekoľko predplatiteľských tabuliek. Všetky tieto tabuľky môžete vypísať pomocou nasledujúceho príkazu SQL.

show tables like 'subscription%';

Výstup na môj server.

+-------------------------------------+
| Tables_in_mailtrain (subscription%) |
+-------------------------------------+
| subscription                        |
| subscription__1                     |
| subscription__2                     |
+-------------------------------------+

Prvá tabuľka je prázdna tabuľka. V Mailtrain mám dva zoznamy. Sú uložené v tabuľke subscription__1 a subscription__2. E-mailové adresy prihlásené na odber majú stavový kód nastavený na 1. E-mailové adresy, na ktorých odber nie je prihlásený, majú stavový kód nastavený na 2. Ak chcete odstrániť neprihlásené e-mailové adresy, môžete spustiť nasledujúce príkazy SQL.

DELETE FROM subscription__1 where status = '2';
DELETE FROM subscription__2 where status = '2';

Ak chcete ukončiť databázový server MySQL/MariaDB, spustite

exit;

Teraz otvorte súbor crontab používateľa root.

sudo crontab -e

Pridajte nasledujúce dva riadky.

# 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';"

Uložte a zatvorte súbor. A máte hotovo.

Ako exportovať zoznamy e-mailov v Mailtrain

Na správcovskom paneli Mailtrain nie je žiadne tlačidlo exportu. Ak však máte na server nainštalovaný phpMyAdmin, môžete odtiaľ exportovať svoje e-mailové zoznamy. Vyberte databázu poštových vlakov v phpMyAdmin a potom vyberte tabuľku, v ktorej sú uložené vaše e-mailové zoznamy. V mojom prípade tabuľky subscription__1 a subscription__2 uchovávajú informácie o predplatiteľoch.

Potom kliknutím na tlačidlo exportovať uložte tabuľku ako súbor. Všimnite si, že existujú 2 exportné tlačidlá. Ak chcete exportovať celú tabuľku, musíte kliknúť na druhé tlačidlo exportu. Prvé tlačidlo exportu exportuje iba aktuálne viditeľné záznamy v tabuľke.

Ďalej si môžete vybrať formát súboru pre exportovaný súbor. Nakoniec kliknite na tlačidlo Prejsť.

Ako skryť domovskú stránku poštového vlaku

Ak nechcete, aby návštevníci videli vašu domovskú stránku mailtrain, môžete nastaviť trvalé presmerovanie 301 na presmerovanie návštevníkov na domovskú stránku vášho webu pridaním nasledujúceho kódu do konfiguračného súboru Nginx Mailtrain.

location = / {
   return 301 http://www.your-domain.com;
}

Uložte a zatvorte súbor. Potom znova načítajte Nginx, aby sa zmena prejavila.

sudo systemctl reload nginx

Musíte si zapamätať prihlasovaciu adresu URL Mailtrain.

https://newsletter.your-domain.com/users/login

Štandardne vás prihlasovacie tlačidlo presmeruje na domovskú stránku Mailtrain, takže si musíte zapamätať inú URL.

https://newsletter.your-domain.com/lists

Umožňuje vám to spravovať zoznamy a ďalšie položky na informačnom paneli.

Ako vložiť možnosti do registračného formulára

Ak chcete v registračnom formulári poskytnúť návštevníkom možnosti, ktoré si môže vybrať, musíte vytvoriť vlastné polia. Prejdite do svojho zoznamu a v rozbaľovacej ponuke Akcie zoznamu vyberte možnosť vlastné polia a vytvorte vlastné pole.

Najprv musíte vytvoriť pole, ktoré sa stane hlavičkou pre zoznam možností. V Typ poľa môžete vybrať prepínač (pre jednu možnosť) alebo začiarkavacie políčka (pre viacero možností). V Skupine nič nevyberajte, pretože toto pole sa stane skupinou možností.

Potom vytvorte vlastné pole pre každú možnosť. Musíte vybrať možnosť pre hodnotu skupiny v Typ poľa a vybrať predchádzajúci vlastný názov súboru v Skupina.

Ako zmeniť typ poľa

Webové rozhranie Mailtrain štandardne neumožňuje zmeniť typ súboru, ale môžete ho zmeniť v databáze mailtrain. Napríklad potrebujem zmeniť typ poľa z začiarkavacích políčok na prepínač.

Pred zmenou čohokoľvek v databáze odporúčam zálohovať databázu. Na zálohovanie databázy poštového vlaku môžete spustiť nasledujúci príkaz.

sudo mysqldump -u root mailtrain > mailtrain.sql

Potom sa prihláste na databázový server MariaDB.

sudo mysql -u root

Použite databázu mailtrain.

USE mailtrain;

Všetky vlastné polia sú uložené v tabuľke custom_fields. Jeho obsah môžete skontrolovať pomocou:

SELECT * FROM custom_fields;

Nájdite vlastné pole, ktoré chcete upraviť, a spustite nasledujúci príkaz SQL, aby ste zmenili jeho typ. Nahraďte identifikačné číslo vlastným.

UPDATE custom_fields SET type = 'radio' Where id = 3;

Ukončite databázový server.

EXIT;

Ako vyčistiť zoznam e-mailov v Mailtrain

Nezapojení odberatelia vám nezarobia peniaze a keďže neotvoria váš e-mail, poskytovatelia poštových schránok znížia reputáciu vašej domény. Ak chcete zabezpečiť, aby sa váš budúci e-mail dostal do doručenej pošty, mali by ste zo svojho zoznamu e-mailov odstrániť nezapojených odberateľov.

Môžete vytvoriť segment pre ľudí, ktorí za posledných 60 dní neotvorili váš e-mail, a potom ich e-mailové adresy odstrániť. Pravidlo pre tento segment je nasledovné:

Požiadavka RAM

Mailtrain môže využívať pomerne veľa pamäte RAM. Uistite sa, že váš server má aspoň 1 GB voľnej pamäte RAM. Ak je napríklad aktuálne využitie pamäte RAM 4 GB, celková veľkosť pamäte RAM by mala byť aspoň 5 GB. Ak sa minie RAM, e-maily v Mailtrain môžu byť vrátené.

Zabaliť sa

Dúfam, že vám tento návod pomohol nainštalovať Mailtrain na Ubuntu 20.04. Môžete prejsť na wiki Mailtrain, kde nájdete ďalšie informácie o používaní Mailtrain. Ako vždy, ak ste považovali tento príspevok za užitočný, prihláste sa na odber nášho bezplatného bulletinu a získajte ďalšie tipy a triky. opatruj sa.

Súvisiace články