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-clientPo nainštalovaní by sa server MariaDB mal automaticky spustiť. Pomocou systemctl skontrolujte jeho stav.
systemctl status mariadbUkáž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 mariadbTeraz spustite bezpečnostný skript po inštalácii.
sudo mysql_secure_installationKeď 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 --versionVýkon :
mariadb Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2Krok 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 rootVytvorte 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 nodejsPotom nainštalujte démona snap.
sudo apt install snapdV obchode Snap Store je viacero verzií Node.js, ktoré možno zobraziť pomocou:
snap info nodeVý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/stableAk chcete skontrolovať verziu Node.js a npm, spustite
node -v
npm -vVý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-essentialKrok 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.gitImportujte 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.sqlVytvorte konfiguračný súbor production.toml.
sudo nano /var/www/mailtrain/config/production.tomlV 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 mailtrainVytvorte konfiguračný súbor pre pracovníka zostavy.
sudo nano /var/www/mailtrain/workers/reports/config/production.tomlPridajte 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/pythonA 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=trueSkopí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.serviceZmeň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.serviceUložte a zatvorte tento súbor. Potom spustite mailtrain.service.
sudo systemctl start mailtrain.serviceSkontrolujte jej stav. Uistite sa, že beží.
systemctl status mailtrain.serviceVý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.serviceTeraz, keď je Mailtrain spustený, máte prístup k webovému rozhraniu Mailtrain cez port 3000.
your-server-ip:3000Krok 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 nginxTeraz 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.confNá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 -tAk je test úspešný, znova načítajte Nginx, aby sa zmeny prejavili.
sudo systemctl reload nginxTeraz 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.tomlV 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=trueUložte a zatvorte súbor. Potom reštartujte Mailtrain, aby sa zmena prejavila.
sudo systemctl restart mailtrainKrok 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-nginxPotom 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.comTeraz 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 redisPo nainštalovaní by sa mal Redis automaticky spustiť. Jeho stav môžete skontrolovať pomocou:
systemctl status redisUkáž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 redisPovoliť automatické spustenie pri štarte:
sudo systemctl enable redisĎalej upravte konfiguračný súbor Mailtrain.
sudo nano /var/www/mailtrain/config/production.tomlPridajte nasledujúce dva riadky na koniec súboru, aby ste povolili Redis.
[redis]
enabled=trueUložte a zatvorte súbor. Potom reštartujte Mailtrain.
sudo systemctl restart mailtrainAko 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.tomlAk 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=trueUložte a zatvorte súbor. Potom reštartujte Mailtrain, aby sa zmeny prejavili.
sudo systemctl restart mailtrainVo 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/transportPridajte 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]:2525Uložte a zatvorte súbor. Potom vygenerujte indexový súbor.
sudo postmap /etc/postfix/transportUpravte hlavný konfiguračný súbor Postfixu.
sudo nano /etc/postfix/main.cfPridajte do súboru nasledujúci riadok.
transport_maps = hash:/etc/postfix/transportPozná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/transportUložte a zatvorte súbor. Potom reštartujte Postfix, aby sa zmena prejavila.
sudo systemctl restart postfixSpracovanie 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.tomlPridajte nasledujúci text.
[postfixbounce]
enabled=trueUložte a zatvorte súbor. Potom reštartujte Mailtrain, aby sa zmeny prejavili.
sudo systemctl restart mailtrainTeraz čí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.servicePridajte 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.targetUlož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 bouncetailPo 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-serverAko 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 rootVyberte 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 imagemagickAko 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.tomlPridajte 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 mailtrainPotom 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 rootPouž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 rootPotom 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 -ePridajte 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 nginxMusí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/listsUmožň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.sqlPotom sa prihláste na databázový server MariaDB.
sudo mysql -u rootPouž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.















