GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte Mailtrain v1.24 na server Ubuntu 20.04 bez Dockeru

Tento tutoriál vám ukáže, jak nainstalovat Mailtrain na Ubuntu 20.04 bez Dockeru. Mailtrain je open-source samoobslužná aplikace pro newsletter, alternativa ke komerčním poskytovatelům e-mailových služeb, jako je Mailchimp. Mailtrain můžete použít k zasílání newsletterů svým e-mailovým odběratelům prostřednictvím vašeho vlastního e-mailového serveru nebo pomocí jakékoli přenosové služby SMTP (Mailjet, SendGrid, AmazonSES, Mailgun atd.).

Aktualizovat :Mailtrain V2 je vydán. Noví uživatelé by měli používat V2 namísto V1.24 :Jak nainstalovat Mailtrain v2 na server Ubuntu 20.04

Mailtrain je vydán za podmínek licence GPL v3.0, postavené na Node.js a MySQL/MariaDB. Nejnovější verze je v1.24.1, vydaná 28. září 2018. Funkce Mailtrain jsou následující:

  • Umožňuje vám snadno spravovat velké seznamy adresátů (např. 1 milion odběratelů).
  • Odběratele můžete přidat ručně, prostřednictvím rozhraní API nebo importovat ze souboru CSV.
  • Podporuje vlastní pole (textová pole, čísla, rozevírací nebo zaškrtávací políčka), slučovací značky a vlastní formuláře.
  • Segmentace seznamu.
  • Kampaň RSS:automaticky generujte zpravodaj ze zdroje RSS a odešlete jej odběratelům.
  • Odběratelé mohou nahrát své veřejné klíče GPG a Mailtrain za ně newsletter zašifruje.
  • Umožňuje zkontrolovat jednotlivé statistiky kliknutí pro každý odkaz.
  • Pokročilé editory e-mailových šablon a editor HTML kódu.
  • Automatizace:odesílání konkrétních e-mailů, když uživatel aktivuje váš předdefinovaný spouštěč.
  • Můžete vytvořit otevřený seznam e-mailů (povolit veřejné přihlášení k odběru) a uzavřený seznam e-mailů (odběratele do seznamu přidává správce).
  • Umožňuje vám obnovit staré e-mailové kampaně (odeslat staré kampaně novým odběratelům).

Krok 1:Vyberte správného poskytovatele hostingu

Self-hosting vám může ušetřit spoustu peněz. Mailtrain je bezplatný a open source software. Stačí zaplatit 26 $ měsíčně za VPS (virtuální privátní server), na kterém lze provozovat plnohodnotný poštovní server a e-mailovou marketingovou platformu Mailtrain. Snadno zvládne miliony předplatitelů. Vaše celkové náklady jsou vždy 26 $ měsíčně bez ohledu na to, kolik máte odběratelů . Pokud vlastníte miliony předplatitelů na MailChimp, náklady by byly tisíce dolarů měsíčně.

Najít poskytovatele VPS (Virtual Private Server) vhodného pro e-mailový hosting a e-mailový marketing není snadný úkol. Mnoho hostingových společností, jako je DigitalOcean, blokuje port 25. DigitalOcean neodblokuje port 25, takže budete muset nastavit přenos SMTP, abyste obešli blokování, což vás může stát další peníze. Pokud používáte Vultr VPS, pak je port 25 ve výchozím nastavení blokován. Mohou jej odblokovat, pokud otevřete lístek podpory, ale mohou jej kdykoli znovu zablokovat, pokud usoudí, že vaše aktivita při odesílání e-mailů není povolena. Vultr jej může ve skutečnosti znovu zablokovat, pokud používáte jejich servery k zasílání newsletterů.

Dalším problémem je, že velcí známí poskytovatelé hostingu jako DigitalOcean nebo Vultr jsou zneužíváni spammery. IP adresa serveru je často na několika blacklistech. Vultr má některé celé rozsahy IP na černé listině.

ScalaHosting je velmi dobrá možnost provozovat poštovní server, protože

  • Neblokují port 25.
  • Adresa IP není na seznamu zakázaných e-mailů. (Alespoň to platí v mém případě. Vybral jsem si datové centrum Dallas.) Rozhodně nechcete být uvedeni na obávané černé listině IP aplikace Microsoft Outlook nebo na černé listině SpamRats. Některé černé listiny blokují celý rozsah IP adres a nemáte žádný způsob, jak odstranit svou IP adresu z tohoto druhu černých listin.
  • Záznam PTR můžete upravit, abyste zlepšili doručování e-mailů.
  • Umožňují vám zasílat newslettery odběratelům e-mailů s ne hodinové limity nebo denní limity. Upozorňujeme, že nemáte povoleno rozesílat spam, známý také jako nevyžádaný hromadný email. Pokud vám příjemce výslovně neudělí povolení k odesílání e-mailů a vy mu posíláte e-maily, jedná se o nevyžádaný e-mail.

Pro správné nastavení serveru Linux VPS na ScalaHosting doporučuji postupovat podle níže uvedeného návodu. Použijte kód kupónu linuxbabe2021 na platební stránce ScalaHosting a ušetříte 100 $ pokud se rozhodnete platit 12 měsíců předem.

  • Jak vytvořit Linux VPS server na ScalaHosting

Potřebujete také název domény. Zaregistroval jsem své doménové jméno od NameCheap, protože cena je nízká a poskytují vám ochranu soukromí whois doživotně zdarma.

Pokud ještě nemáte svůj vlastní poštovní server, doporučuji použít bezplatný program iRedMail k rychlému nastavení vlastního poštovního serveru před instalací Mailtrain, abyste nemuseli utrácet peníze za komerční přenosovou službu SMTP.

Krok 2:Nainstalujte databázový server MariaDB

Údaje o vašich předplatitelích budou uloženy v databázi. Mailtrain podporuje MySQL a MariaDB. MariaDB je drop-in náhrada za MySQL. Je vyvinut bývalými členy týmu MySQL, kteří se obávají, že by Oracle mohl změnit MySQL na uzavřený produkt. Pojďme tedy nainstalovat databázový server MariaDB.

Chcete-li jej nainstalovat na Ubuntu 20.04, zadejte následující příkaz.

sudo apt install mariadb-server mariadb-client

Po instalaci by se měl server MariaDB automaticky spustit. Použijte systemctl zkontrolovat jeho stav.

systemctl status mariadb

Ukázkový 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

Pokud neběží, spusťte jej tímto příkazem:

sudo systemctl start mariadb

Chcete-li povolit automatické spouštění MariaDB při spouštění systému, spusťte

sudo systemctl enable mariadb

Nyní spusťte bezpečnostní skript po instalaci.

sudo mysql_secure_installation

Až budete požádáni o zadání rootovského hesla MariaDB, stiskněte klávesu Enter, protože heslo root ještě není nastaveno. Poté zadejte y pro nastavení hesla uživatele root pro server MariaDB.

Dále můžete stisknout Enter pro zodpovězení všech zbývajících otázek, což odstraní anonymního uživatele, zakáže vzdálené přihlášení root a odstraní testovací databázi. Tento krok je základním požadavkem pro zabezpečení databáze MariaDB. (Všimněte si, že písmeno Y je velká, což znamená, že se jedná o výchozí odpověď.)

Zkontrolujte informace o verzi serveru MariaDB.

mariadb --version

Výstup:

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

Krok 3:Vytvořte databázi a uživatele pro Mailtrain

Nyní se musíme přihlásit do konzole MariaDB a vytvořit databázi a uživatele pro Mailtrain. Ve výchozím nastavení používá balíček MaraiDB na Ubuntu unix_socket k ověření přihlášení uživatele, což v podstatě znamená, že můžete použít uživatelské jméno a heslo operačního systému pro přihlášení do konzoly MariaDB. Můžete tedy spustit následující příkaz a přihlásit se bez zadání hesla root MariaDB.

sudo mariadb -u root

Vytvořte databázi pro Mailtrain pomocí následujícího příkazu. Pojmenoval jsem to mailtrain , ale můžete použít jakýkoli název, který chcete. (Nevynechávejte středník.)

create database mailtrain;

Poté zadejte příkaz níže, abyste vytvořili databázového uživatele pro Mailtrain a udělili uživateli všechna oprávnění k databázi mailtrain. Nahraďte mtuser a your-password s vaším preferovaným uživatelským jménem a heslem.

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

Dále vytvořte uživatele s přístupem pouze pro čtení k databázi mailtrain. Tohoto uživatele jsem pojmenoval mt_readonly .

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

Vypláchněte tabulku oprávnění, aby se změny projevily, a poté opusťte konzolu MariaDB.

flush privileges;

exit;

Krok 4:Nainstalujte Node.js

Mailtrain je postaven na Node.js, což je běhové prostředí JavaScriptu, které převádí lidsky čitelný kód JavaScript do strojového kódu. Abychom mohli spustit Mailtrain, musíme nainstalovat Node.js na Ubuntu 20.04. Mailtrain vyžaduje Node.js 7+. Nejnovější verze Node.js je v14. Nedoporučuji však používat nejnovější verzi, protože není kompatibilní s Mailtrain v1.24. Pro nejlepší kompatibilitu doporučuji nainstalovat Node.js 8 ze Snap Store.

Pokud jste nainstalovali Node.js z oficiálního úložiště APT, musíte jej odinstalovat, protože by to narušovalo verzi Node.js Snap.

sudo apt remove nodejs

Dále nainstalujte démona snap.

sudo apt install snapd

V obchodě Snap Store je několik verzí Node.js, které lze zobrazit pomocí:

snap info node

Výstup:

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 nainstalovat Node.js z kanálu 8/stable.

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

Chcete-li zkontrolovat verzi Node.js a npm, spusťte

node -v

npm -v

Výstup:

Poznámka :Pokud je to poprvé, co instalujete balíček Snap na server, musíte se odhlásit a znovu přihlásit, abyste mohli používat Snap verzi Ruby.

Chcete-li zkompilovat a nainstalovat nativní doplňky z npm, musíte také nainstalovat nástroje pro sestavení:

sudo apt install -y build-essential

Krok 5:Spusťte Mailtrain

Přejděte na /var/www/ a načíst soubory Mailtrain z Github.

cd /var/www/

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

Importujte počáteční data SQL do databáze poštovního vlaku pomocí následujícího příkazu. Musíte zadat heslo mtuser .

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

Vytvořte konfigurační soubor production.toml.

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

V tomto souboru můžete přidat konfigurace, které přepíší výchozí konfigurace v /var/www/mailtrain/config/default.toml soubor. Potřebujeme přidat pouze následující konfigurace.

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 zavřete soubor. Poté vytvořte mailtrain uživatel a skupina pro démona mailtrain, který bude spuštěn jako. Všimněte si, že pro tohoto uživatele nemusíme vytvářet heslo, takže místo běžného uživatele vytvoříme systémového uživatele.

sudo adduser --system --group mailtrain

Vytvořte konfigurační soubor pro pracovníka sestavy.

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

Přidejte následující konfigurace. Tento pracovník sestavy bude mít přístup pouze pro čtení k databázi mailtrain.

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

Uložte a zavřete soubor. Poté změňte oprávnění /var/www/mailtrain/ .

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

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

Nainstalujte Python2.7 a vytvořte symbolický odkaz.

sudo apt install python2.7

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

A nainstalujte požadované balíčky uzlů.

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

Zkopírujte soubor servisní jednotky Mailtrain systemd do /etc/systemd/system/ adresář.

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

Otevřete tento soubor.

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

Změňte /opt/mailtrain na /var/www/mailtrain . A změňte /usr/bin/node na /snap/bin/node protože používáme Snap verzi Node.js.

Můžete také chtít okomentovat následující řádek. Protože s povoleným následujícím řádkem, pokud se MySQL/MariaDB restartuje, pak mailtrain.service se také restartuje, a pokud se upgraduje server MySQL/MariaDB, pak mailtrain.service se zastaví. Myslím, že není potřeba vyžadovat mysql.service .

Requires=mysql.service

Uložte a zavřete tento soubor. Poté spusťte mailtrain.service .

sudo systemctl start mailtrain.service

Zkontrolujte jeho stav. Ujistěte se, že běží.

systemctl status mailtrain.service

Výstup:

● 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

Povolte automatické spouštění při spouštění systému.

sudo systemctl enable mailtrain.service

Nyní, když je Mailtrain spuštěn, můžete přistupovat k webovému rozhraní Mailtrain přes port 3000.

your-server-ip:3000

Krok 6:Nastavte reverzní proxy a povolte HTTPS

Než použijete webové rozhraní Mailtrain, umístěte jej za Nginx a poté povolte HTTPS. Nainstalujte webový server Nginx na Ubuntu 20.04 pomocí:

sudo apt install nginx

Nyní můžete zkopírovat příklad mailtrain-nginx.conf soubor do /etc/nginx/conf.d/ adresář.

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

Otevřete tento soubor.

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

Najděte následující řádek.

server_name mailtrain.org www.mailtrain.org;

Změňte hodnotu server_name parametr na název vaší vlastní domény jako newsletter.your-domain.com . Nezapomeňte pro tuto subdoménu vytvořit záznam DNS A.

server_name newsletter.linuxbabe.com;

Uložte a zavřete soubor. Poté otestujte konfigurace Nginx.

sudo nginx -t

Pokud bude test úspěšný, znovu načtěte Nginx, aby se změny projevily.

sudo systemctl reload nginx

Nyní byste měli mít přístup k webovému rozhraní Mailtrain prostřednictvím své subdomény:newsletter.your-domain.com .

Nyní upravte /var/www/mailtrain/config/production.toml soubor.

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

V [www] přidejte následující dva řádky, abyste označili, že poštovní vlak je za proxy serverem Nginx, a nechte jej naslouchat pouze na adrese místního hostitele.

host="127.0.0.1"
proxy=true

Uložte a zavřete soubor. Poté restartujte Mailtrain, aby se změna projevila.

sudo systemctl restart mailtrain

Krok 7:Povolte HTTPS pomocí Let’s Encrypt

Nainstalujte si klienta Let’s Encrypt (certbot) na svůj server Ubuntu 20.04.

sudo apt install certbot python3-certbot-nginx

Poté můžete pomocí pluginu Nginx automaticky získat a nainstalovat certifikát TLS provedením následujícího příkazu.

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

Nyní můžete přistupovat k webovému rozhraní Mailtrain prostřednictvím názvu vaší domény a zabezpečeného připojení HTTPS.

htop mi říká, že můj server používá asi 500 MB RAM. Pokud spustím Mailtrain s Dockerem, je to asi 900 MB.

Přihlaste se pomocí uživatelského jména admin a heslo test . Poté změňte e-mailovou adresu a heslo svého účtu. Přejděte do settings stránku pro změnu výchozí konfigurace. Adresu služby byste měli změnit z http://localhost:3000/ do vaší subdomény (https://newsletter.your-domain.com ).

Poznámka:Účet správce je snadným cílem pro hackery. Pro nejlepší zabezpečení se doporučuje změnit uživatelské jméno z admin na něco jiného. Webové rozhraní Mailtrain takovou možnost nenabízí, ale můžete změnit uživatelské jméno v databázi MariaDB pomocí příkazu SQL.

V Mailer Settings , můžete použít SMTP, pokud máte vlastní e-mailový server nebo používáte Amazon SES. Ve skutečnosti můžete v SMTP použít i jiné přenosové služby SMTP tab. Na níže uvedeném snímku obrazovky používám svůj vlastní e-mailový server. E-maily budou odesílány na portu 587 se šifrováním STARTTLS.

Pokud je na vašem e-mailovém serveru nainstalován Mailtrain, měli byste použít následující nastavení SMTP. Název hostitele by měl být 127.0.0.1 a port by měl být 25. Při komunikaci s místním hostitelem není nutné povolovat šifrování ani ověřování.

Uložte nastavení. Poté můžete vytvořit seznam pro testování funkcí Mailtrain.

Jak povolit mezipaměť Redis

Můžete nainstalovat server Redis pro mezipaměť relace. To umožní Mailtrain spouštět 5 procesů místo výchozího jediného procesu, což urychlí doručování e-mailů, pokud máte hodně e-mailových odběratelů (Všimněte si, že to zvýší využití paměti, například asi 250 MB).

sudo apt install redis

Po instalaci by se měl Redis automaticky spustit. Jeho stav můžete zkontrolovat pomocí:

systemctl status redis

Ukázkový 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

Pokud neběží, můžete jej spustit pomocí:

sudo systemctl start redis

Povolit automatické spouštění při spouštění:

sudo systemctl enable redis

Dále upravte konfigurační soubor Mailtrain.

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

Přidejte následující dva řádky na konec souboru, abyste povolili Redis.

[redis]
enabled=true

Uložte a zavřete soubor. Poté restartujte Mailtrain.

sudo systemctl restart mailtrain

Jak zacházet s nedoručenými zprávami v Mailtrain

Dříve nebo později bude váš seznam e-mailů obsahovat adresy, na které nemůžete posílat e-maily. Když například předplatitel, který používá firemní e-mailovou adresu, opustí společnost, bude tato e-mailová adresa smazána. Váš e-mailový server tedy obdrží vrácenou zprávu o tom, že e-mail nelze doručit.

Pokud k odesílání e-mailů používáte přenosovou službu SMTP, zpracují vrácené zprávy za vás. Pokud k odesílání e-mailů používáte svůj vlastní e-mailový server, musíte zprávy o nedoručení zpracovávat v Mailtrain. Mailtrain nabízí dva způsoby, jak zacházet s nedoručenými zprávami.

  • přes VERP
  • prostřednictvím protokolu Postfix

Osobně používám metodu VERP, protože je široce používána v e-mailové komunitě a také proto, že druhá metoda způsobuje vysoké využití procesoru na mém serveru.

VERP Bounce Handling

S VERP (variabilní návratová cesta obálek) používá správce seznamu e-mailů pro každého předplatitele jedinečné adresy obálek. Chcete-li povolit VERP, upravte soubor production.toml soubor.

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

Pokud váš hostitel Mailtrain nemá spuštěný žádný SMTP server, přidejte následující text.

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

Pokud váš server Mailtrain má spuštěný server SMTP, jako je Postfix, přidejte následující text. Server pro zpracování nedoručených zpráv bude naslouchat na 127.0.0.1:2525 .

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

Uložte a zavřete soubor. Poté restartujte Mailtrain, aby se změny projevily.

sudo systemctl restart mailtrain

Ve webovém rozhraní Mailtrain přejděte do Settings -> VERP Bounce Handlding . Zaškrtněte Use VERP to catch bounces . Uložte nastavení.

Dále je třeba vytvořit záznam MX pro název hostitele serveru (bounces.your-domain.com ), pak přidejte záznam pro tento název hostitele, který ukazuje na vašeho hostitele Mailtrain, aby bylo možné odesílat zprávy o nedoručitelnosti vašemu hostiteli Mailtrain. Každý odběratel ve vašem seznamu bude mít jedinečnou obálkovou adresu, například [email protected] .

Všimněte si, že pokud jste nasadili záznam DMARC pro název své domény, musí být zarovnání SPF nastaveno na uvolněný režim. Pokud je nastaven na přísný režim, může váš newsletter selhat při kontrole DMARC.

Pokud server pro zpracování nedoručených zpráv Mailtrain naslouchá na portu 2525 z 127.0.0.1 a server Postfix SMTP naslouchá na portu 25 veřejné IP adresy, musíte nastavit transportní mapu, aby Postfix mohl předat zprávu o nedoručení Mailtrain. Vytvořte soubor transportní mapy.

sudo nano /etc/postfix/transport

Přidejte do tohoto souboru následující řádek. To Postfixu říká, aby předával e-maily s adresou jako [email protected] na server pro zpracování nedoručených zpráv Mailtrain.

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

Uložte a zavřete soubor. Poté vygenerujte soubor indexu.

sudo postmap /etc/postfix/transport

Upravte hlavní konfigurační soubor Postfixu.

sudo nano /etc/postfix/main.cf

Přidejte do souboru následující řádek.

transport_maps = hash:/etc/postfix/transport

Poznámka:Pokud jste k nastavení poštovního serveru použili iRedMail, pak transport_maps parametr má nějaké jiné hodnoty. Hodnotu byste měli připojit na konec, jak je uvedeno níže.

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 zavřete soubor. Poté restartujte Postfix, aby se změna projevila.

sudo systemctl restart postfix

Zpracování vrácených zpráv prostřednictvím protokolu Postfix

To předpokládá, že Mailtrain je nainstalován na vašem e-mailovém serveru.

Mailtrain je schopen detekovat vrácené zprávy z poštovního protokolu Postfixu nalezením řádků, které obsahují status=bounced . Nejprve musíte povolit server pro čtení protokolů Postfixu. Upravte soubor production.toml soubor.

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

Přidejte následující text.

[postfixbounce]
enabled=true

Uložte a zavřete soubor. Poté restartujte Mailtrain, aby se změny projevily.

sudo systemctl restart mailtrain

Nyní server pro čtení protokolu Postfixu naslouchá na 127.0.0.1:5699. Chcete-li mu umožnit číst protokol Postfixu, spusťte následující příkaz.

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

Chcete-li jej spustit na pozadí, můžete vytvořit servisní jednotku systemd.

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

Přidejte následující 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 zavřete soubor. Poté spusťte tuto službu a povolte automatické spouštění při spouštění.

sudo systemctl start bouncetail

sudo systemctl enable bouncetail

Po restartování služby mailtrain nezapomeňte restartovat službu bouncetail. Zjistil jsem, že služba bouncetail způsobuje vysoké využití CPU na mém serveru, takže tuto metodu nepoužívám.

Aktualizovat

Po nějaké době používání Mailtrain na mém vlastním serveru jsem zjistil, že jsou to další důvody, které způsobují vracení e-mailů. Následují měkké odrazy.

  • Poštovní schránka příjemce je plná.
  • Vaše IP adresa je na černé listině.
  • E-mailový server příjemce je mimo provoz nebo je offline.

Dochází také k tvrdému vracení, tj. e-mailová adresa příjemce neexistuje. Ve výchozím nastavení Mailtrain odhlásí odběr e-mailové adresy, pokud je detekováno jedno nedoručení, což je v pořádku pro tvrdé nedoručení, ale je dobré povolit několik měkkých zpětných zpráv, než odhlásíte chybnou e-mailovou adresu. Můžete požádat přijímající e-mailový server, aby odstranil vaši IP adresu z černé listiny a poté se znovu přihlásil k odběru související e-mailové adresy.

Nahrávání obrázků do Mailtrain

Chcete-li nahrát obrázky do Mailtrain, musíte si nainstalovat imagemagick balík. Bez něj může Mailtrain při nahrávání obrázků generovat chyby.

sudo apt install imagemagick

Jak vložit registrační formulář na svůj web

Nejprve musíte povolit sdílení zdrojů mezi zdroji. Upravte soubor production.toml soubor.

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

Přidejte do souboru následující řádek a přidejte svůj web na seznam povolených.

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

Uložte a zavřete soubor. Poté restartujte Mailtrain, aby se změna projevila.

sudo systemctl restart mailtrain

Poté přidejte na svůj web následující kód, aby se zobrazil registrační formulář. Nahraďte červený text názvem domény Mailtrain a vlastním ID seznamu.

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

Poté přidejte vlastní pravidla CSS, aby byl vizuálně přitažlivější.

Jak vytvořit další uživatele v Mailtrain

Mailtrain v2 umožní správci vytvořit více uživatelů s podrobnými uživatelskými oprávněními a flexibilním sdílením. Ale s aktuální verzí v.1.24.1 můžete vytvářet uživatele pouze prostřednictvím databáze. Přihlaste se do konzole MySQL/MariaDB.

sudo mysql -u root

Použijte mailtrain databáze.

USE mailtrain;

Poté vytvořte uživatelský záznam pomocí následujícího příkazu SQL.

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

Ukončete databázový server.

EXIT;

Zjistil jsem, že takto vytvoření uživatelé se nemohou poprvé přihlásit do webového rozhraní Mailtrain. Uživatelé musí použít odkaz „zapomenuté heslo“ na přihlašovací stránce k resetování svého hesla, poté by přihlášení mělo fungovat. Všimněte si také, že všichni uživatelé mají oprávnění správce ve webovém rozhraní Mailtrain.

Jak importovat seznam e-mailů z MailChimp

Nejprve musíte přejít do Audience na hlavním panelu MailChimp. Klikněte na View Contacts tlačítko pro zobrazení všech odběratelů. Poté klikněte na Export Audience pro export seznamu jako souboru CSV.

Poté přejděte na řídicí panel Mailtrain a vyberte svůj seznam e-mailů. Vyberte List Actions a klikněte na Import Subscribers .

Na další stránce budete muset nahrát soubor CSV stažený z MailChimp.

Poté musíte přiřadit pole v MailChimpu k polím v seznamu e-mailů Mailtrain. Pokud některá pole v MailChimpu neexistují v seznamu e-mailů Mailtrain, můžete je vytvořit v řídicím panelu Mailtrain.

Vezměte prosím na vědomí, že pokud vaše pole MailChimp obsahují přepínače, měli byste také vytvořit přepínače v polích Mailtrain. Musíte však svůj seznam MailChimp segmentovat na základě hodnoty přepínače, poté tyto segmenty exportovat do různých souborů CSV a importovat je do Mailtrain po segmentech. Je to proto, že Mailtrain neposkytuje způsob, jak porovnat hodnoty jednotlivých přepínačů z MailChimp.

Cron Job pro automatické čištění odhlášených e-mailových adres

Nepřihlášené e-mailové adresy můžete ručně odstranit na panelu webového administrátora Mailtrain, ale mnohem efektivnější je odstranit je pomocí příkazů MySQL/MariaDB, pak stačí vytvořit úlohu Cron, která tuto úlohu zautomatizuje.

Nejprve se přihlaste k databázovému serveru MySQL/MariaDB.

sudo mysql -u root

Poté se připojte k databázi poštovního vlaku.

use mailtrain;

Údaje o předplatitelích jsou uloženy v subscription tabulky. Pokud máte několik e-mailových konferencí, budete mít několik subscription tabulky. Všechny tyto tabulky můžete vypsat pomocí následujícího příkazu SQL.

show tables like 'subscription%';

Výstup na mém serveru.

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

The first table is an empty table. I have two lists in Mailtrain. They are stored in subscription__1 and subscription__2 table. Subscribed email addresses have status code set to 1 . Unsubscribed email addresses have status code set to 2 . So, to delete unsubscribed email addresses, you can run the following SQL commands.

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

To exit MySQL/MariaDB database server, run

exit;

Now open the root user’s crontab file.

sudo crontab -e

Add the following two lines.

# 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 zavřete soubor. And you’re done.

How to Export Your Email Lists in Mailtrain

There’s no export button in the Mailtrain admin panel. However, if you have installed phpMyAdmin on the server, you can export your email lists from there. Select the mailtrain database in phpMyAdmin, then select the table that stores your email lists. In my case, the subscription__1 and subscription__2 tables store subscribers’ information.

Then click the export button to save the table as a file. Note that there are 2 export buttons. You need to click the second export button to export the entire table. The first export button will only export the current visible records in the table.

Next, you can choose the file format for the export file. Finally, click the Go button.

How to Hide the Mailtrain Home Page

If you don’t want visitors to see your mailtrain home page, you can set up a 301 permanent redirect to redirect visitors to your website’s home page, by adding the following code in Mailtrain’s Nginx configuration file.

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

Uložte a zavřete soubor. Then reload Nginx for the change to take effect.

sudo systemctl reload nginx

You need to remember the Mailtrain login URL.

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

By default, the login button will redirect you to the Mailtrain home page, so you need to remember another URL.

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

This allows you to manage your lists and other stuff in the dashboard.

How to Insert Options on the Signup Form

If you want to give options on the signup form for the visitor to select, then you need to create custom fields. Go to your list and select custom fields in the List Actions drop-down menu and create custom field.

First, you need to create a field that will become the header question for the option list. In Field Type , you can select radio button (for single choice) or checkboxes (for multiple choices). In Group , don’t select anything, because this field will become a group for the options.

Then create custom field for each option. You need to choose option for a group value in Field Type , and choose the previous custom filed name in Group .

How to Change Field Type

By default, the Mailtrain web interface doesn’t allow you to change filed type, but you can change it in the mailtrain database. For example, I need to change a field type from checkboxes to radio button .

I recommend backing up the database before changing anything in the database. You can run the following command to backup mailtrain database.

sudo mysqldump -u root mailtrain > mailtrain.sql

Then log into MariaDB database server.

sudo mysql -u root

Use the mailtrain databáze.

USE mailtrain;

All custom fields are stored in the custom_fields table. You can check its content with:

SELECT * FROM custom_fields;

Find the custom field you want to modify and run the following SQL command to change its type. Replace the id number with your own.

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

Exit the database server.

EXIT;

How to Clean Your Email List in Mailtrain

Unengaged subscribers won’t make you money and because they don’t open your email, mailbox providers will reduce your domain reputation. To make sure your future email will get into the inbox, you should remove unengaged subscribers from your email list.

You can create a segment for people who didn’t open your email in the last 60 days, then delete their email addresses. The rule for this segment is as follows:

RAM Requirement

Mailtrain can use quite a lot of RAM. Make sure your server has at least 1GB free RAM. For example, if the current RAM usage is 4GB, then the total RAM should be at least 5GB. If RAM runs out, emails in Mailtrain could be bounced.


Ubuntu
  1. Jak nainstalovat Docker na Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  2. Instalovat server 18.04 bez připojení k síti?

  3. Jak nainstalovat server Ubuntu bez síťového připojení?

  1. Jak nainstalovat Docker na Ubuntu 18.04

  2. Nainstalujte SSH server Ubuntu 22.04

  3. Jak nainstalovat Docker na Ubuntu 22.04

  1. Jak nainstalovat Docker CE (Community Edition) na Ubuntu Server

  2. Jak nainstalovat Mailtrain Newsletter Software na Ubuntu 18.04

  3. Jak nainstalovat Docker na serveru Ubuntu 18.04 LTS