Ubuntu 24.04 VPS-ல் Listmonk newsletter அமைப்பது
Ubuntu 24.04-ல் Listmonk v6.2.0-ஐ PostgreSQL 16, config.toml, systemd unit, TLS உடன் நிறுவுங்கள். SMTP delivery-க்கு reputation ஏன் முக்கியம் என்பதையும் அறியுங்கள்.
Listmonk-இல் self-hosted newsletter-க்கு தேவையானவை
Listmonk என்பது self-hosted newsletter மற்றும் mailing list manager ஆகும். இதில் ஒரு Go binary, ஒரு PostgreSQL database, ஒரு config file, ஒரு systemd unit ஆகியவை மட்டுமே உள்ளன. Listmonk subscribers-ஐ சேமித்து campaigns-ஐ queue செய்வதால், சிறிய VPS ஒன்றில் இதை எளிதாக இயக்கலாம். ஆனால் இது mail-ஐ தானாக deliver செய்யாது. ஒவ்வொரு message-ஐயும் SMTP (simple mail transfer protocol) server-க்கு அனுப்பும். எனவே, உங்கள் delivery rate இந்த software-ஆல் அல்ல, அந்த server-ன் reputation-ஆல் தீர்மானிக்கப்படுகிறது.
இந்த வழிகாட்டி Ubuntu 24.04-ல் Listmonk v6.2.0-ஐ நிறுவுகிறது. இது July 2026 நிலவரப்படி current release ஆகும். உங்களிடம் public IP address கொண்ட VPS, நீங்கள் கட்டுப்படுத்தும் domain name, மற்றும் PostgreSQL 12 அல்லது அதற்குப் புதிய version இருக்க வேண்டும். Installation முடிக்க சுமார் ஒரு மணி நேரம் ஆகும். Sending reputation உருவாக பல வாரங்கள் ஆகும். அந்தப் பகுதி முடிவில் விளக்கப்பட்டுள்ளது.
PostgreSQL-ஐ நிறுவி database-ஐ உருவாக்குதல்
Ubuntu 24.04 தனது சொந்த repository-யில் PostgreSQL 16-ஐ வழங்குகிறது. இது Listmonk-க்கு தேவையான பதிப்பை விட மிகவும் புதியது.
sudo apt update
sudo apt install -y postgresql curl
sudo systemctl enable --now postgresqlஒரே psql session-ல் role மற்றும் database-ஐ உருவாக்கவும். -v ON_ERROR_STOP=1 காரணமாக, முதல் statement தோல்வியடைந்தவுடன் psql வெளியேறும். இதனால் typo காரணமாக பாதியில் முடிந்த setup முழுமையானது போல தோன்றாது.
sudo -u postgres psql -v ON_ERROR_STOP=1 <<'SQL'
CREATE USER listmonk WITH PASSWORD 'pick-a-long-random-password';
CREATE DATABASE listmonk OWNER listmonk;
SQLOWNER listmonk அலங்காரத்திற்காக அல்ல. Schema install tables, types, indexes மற்றும் functions-ஐ உருவாக்குகிறது. எனவே role அந்த database-ன் owner ஆக இருக்க வேண்டும். வேறு role-க்கு சொந்தமான database-ஐ Listmonk-க்கு வழங்கினால், GRANT CONNECT-ஐ இயக்கிய பிறகும் install permission denied என்ற பிழையுடன் நிறுத்தப்படும்.
மேலும் தொடர்வதற்கு முன் database உள்ளது என்பதை உறுதிப்படுத்தவும்.
sudo -u postgres psql -tAc "SELECT datname FROM pg_database WHERE datname='listmonk';"அது listmonk என்பதை அச்சிடும். காலியான வரி தோன்றினால், CREATE statement இயக்கப்படவில்லை என்று பொருள். எனவே psql output-ஐ மீண்டும் படிக்கவும்.
Listmonk binary-ஐ நிறுவுதல்
Listmonk ஒவ்வொரு architecture-க்கும் static binary-ஐ வெளியிடுகிறது. முதலில் உங்கள் architecture-ஐச் சரிபார்க்கவும். ARM VPS-ல் amd64 binary-ஐப் பயன்படுத்தினால், அதை kernel execute செய்யாது.
dpkg --print-architecture
cd /tmp
curl -fsSLO https://github.com/knadh/listmonk/releases/download/v6.2.0/listmonk_6.2.0_linux_amd64.tar.gz
tar -xzf listmonk_6.2.0_linux_amd64.tar.gz
sudo install -m 755 listmonk /usr/bin/listmonk
listmonk --versionARM VPS-ல் file name-இல் amd64 என்பதற்குப் பதிலாக arm64 என்பதைப் பயன்படுத்தவும். listmonk --version version string-ஐ அச்சிடுவது, binary அந்த machine-க்கு பொருந்துகிறது என்பதற்கான முதல் சரிபார்ப்பாகும்.
config.toml-ஐ உருவாக்கி அணுகலைக் கட்டுப்படுத்தவும்
--new-config, தற்போதைய working directory-யில் config.toml-ஐ எழுதுகிறது. அதனால் cd, sudo-க்கு முன் அல்லாமல் sh -c-க்குள் அமைந்துள்ளது.
sudo install -d -m 750 /etc/listmonk
sudo sh -c 'cd /etc/listmonk && listmonk --new-config'உருவாக்கப்பட்ட file சிறியது. [app]-ன் கீழ், address = "localhost:9000" HTTP server-ஐ loopback-க்கு மட்டும் bind செய்கிறது. எனவே reverse proxy-ஐ அதன் முன் அமைக்கும் வரை admin panel-ஐ internet-ல் இருந்து அணுக முடியாது. அந்த வரியை மாற்றாமல் விடவும். [db]-ன் கீழ் host = "localhost", port = 5432, user = "listmonk", database = "listmonk" மற்றும் ssl_mode = "disable" ஆகியவை கிடைக்கும். இந்த default values, நீங்கள் உருவாக்கிய database-க்கு ஏற்கனவே பொருந்துகின்றன. எனவே மாற்ற வேண்டிய ஒரே வரி password ஆகும்.
Postgres, அதே machine-ல் loopback-ல் listening செய்யும் நிலையில் ssl_mode = "disable" சரியானது. அந்த traffic machine-ஐ விட்டு வெளியேறாது. Database-ஐ வேறு host-க்கு மாற்றினால், அதை require என அமைக்கவும். இல்லையெனில் password network வழியாக cleartext-ஆக செல்லும்.
[db]-ன் கீழுள்ள password line-ஐ role-க்கு பொருந்துமாறு edit செய்யவும். பின்னர் service account-ஐ உருவாக்கி, மற்ற login account-களிடமிருந்து file-க்கான அணுகலை நீக்கவும்.
sudo useradd --system --home-dir /var/lib/listmonk --create-home --shell /usr/sbin/nologin listmonk
sudo chown -R root:listmonk /etc/listmonk
sudo chmod 640 /etc/listmonk/config.tomlஇப்போது service account-ஆல் file-ஐ படிக்க முடியும்; வேறு யாராலும் படிக்க முடியாது.
sudo -u listmonk cat /etc/listmonk/config.toml > /dev/null && echo readable
stat -c '%U:%G %a' /etc/listmonk/config.tomlமுதல் command readable-ஐ print செய்கிறது. இரண்டாவது root:listmonk 640-ஐ print செய்கிறது. வேறு எந்த unprivileged account-மும் அதே cat-ஐ முயற்சித்தால் Permission denied கிடைக்கும். இதுவே நோக்கம்: இந்த file-ல் உங்கள் database password cleartext-ஆக உள்ளது. மேலும், ஒரு server-ல் பொதுவாக ஒன்றுக்கு மேற்பட்ட login account இருக்கும். நீங்கள் இயக்கும் ஒவ்வொரு service-க்கும் இதே காரணம் பொருந்தும். எனவே குறைந்த privilege கொண்ட service users பற்றிப் படித்து, அதை எல்லா இடங்களிலும் பயன்படுத்தவும்.
--install மூலம் schema-வை உருவாக்குதல்
--install tables-ஐ உருவாக்கி, இயல்புநிலை settings-ஐ seed செய்கிறது. Environment variables மூலம் முதல் admin login-ஐ அமைக்கவும். இதனால் panel-ஐ எவரும் அணுகுவதற்கு முன்பே account உருவாகும்.
sudo -u listmonk env LISTMONK_ADMIN_USER=admin \
LISTMONK_ADMIN_PASSWORD='another-long-random-password' \
listmonk --config /etc/listmonk/config.toml --install --yes--yes confirmation prompt-க்கு பதிலளிக்கிறது. அதை automate செய்வதற்கு முன் அந்த prompt-ஐ ஒருமுறை படிக்கவும். ஏனெனில் --install என்பது முதல் installer இயக்கம் ஆகும்; இது ஏற்கனவே உள்ள Listmonk schema-வை அழிக்கும். Live database-ல் இதை இரண்டாவது முறையாக இயக்கினால் subscribers அழிக்கப்படுவார்கள். இருமுறை இயக்கப்படக்கூடிய எந்த script-லும் --install --idempotent --yes-ஐ பயன்படுத்தவும். Tables ஏற்கனவே இருந்தால் அது எந்தச் செயலையும் செய்யாது. புதிய release-ல் வெளியிடப்பட்ட schema changes-ஐ --upgrade மூலம் apply செய்யவும்; --install மூலம் ஒருபோதும் செய்யக்கூடாது.
முடிவை browser-ல் சரிபார்ப்பதற்குப் பதிலாக database பக்கத்திலிருந்து சரிபார்க்கவும்.
sudo -u postgres psql -d listmonk -c '\dt'
sudo -u postgres psql -d listmonk -tAc "SELECT username FROM users;"முதல் command Listmonk tables-ஐ பட்டியலிடுகிறது. அவற்றில் subscribers, lists, campaigns, templates மற்றும் bounces ஆகியவை அடங்கும். இரண்டாவது command admin-ஐ print செய்கிறது. இரண்டாவது command-ன் முடிவு காலியாக இருந்தால், environment variables process-ஐ எட்டவில்லை என்று பொருள். அப்போது panel, browser-ல் முதல் user-ஐ உருவாக்குமாறு கேட்கும்.
systemd கீழ் Listmonk-ஐ இயக்குதல்
/etc/systemd/system/listmonk.service எழுதவும்.
[Unit]
Description=Listmonk newsletter and mailing list manager
After=network-online.target postgresql.service
Wants=network-online.target
[Service]
Type=simple
User=listmonk
Group=listmonk
WorkingDirectory=/var/lib/listmonk
ExecStart=/usr/bin/listmonk --config /etc/listmonk/config.toml
Restart=on-failure
RestartSec=5
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=full
ProtectHome=true
[Install]
WantedBy=multi-user.targetWorkingDirectory முக்கியமானது. ஏனெனில் Listmonk, filesystem media upload path உட்பட relative paths-ஐ அதனுடன் தொடர்புடையதாக resolve செய்கிறது. After=postgresql.service தொடங்குமாறு மட்டும் வரிசைப்படுத்துகிறது; Postgres connections-ஐ ஏற்கும் வரை காத்திருக்காது. எனவே Listmonk சற்று முன்கூட்டியே தொடங்கி connect செய்ய முடியாத நிலையை Restart=on-failure கையாளுகிறது.
sudo systemctl daemon-reload
sudo systemctl enable --now listmonk
ss -ltnp | grep 9000
curl -sI http://127.0.0.1:9000/ss, LISTEN state-ல் 127.0.0.1:9000-ஐ காட்ட வேண்டும். curl ஏதேனும் HTTP status line-ஐ திருப்பி அளித்தால், server பதிலளிக்கிறது என்று பொருள். curl, Connection refused உடன் தோல்வியடைந்தால், startup-இன் போது process முடிந்துவிட்டது என்று பொருள்; அதற்கான காரணத்தை journalctl -u listmonk -n 50 --no-pager தெரிவிக்கும். enable --now தான் reboot-க்குப் பிறகும் நீடிக்கும் பகுதி என்பதை நினைவில் கொள்ளவும்: கையால் தொடங்கிய process, அடுத்த kernel upgrade-க்குப் பிறகு இல்லை.
nginx மற்றும் TLS-ஐ முன்னிலைப்படுத்துதல்
Listmonk loopback-ல் plain HTTP மூலம் செயல்படுகிறது. ஆகவே nginx TLS (transport layer security)-ஐ நிறைவு செய்து, கோரிக்கையை முன்னோக்கி அனுப்புகிறது.
server {
listen 443 ssl;
server_name lists.example.com;
client_max_body_size 25m;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}Subscriber imports மற்றும் media uploads ஆகியவை file posts என்பதால் client_max_body_size மதிப்பை உயர்த்த வேண்டும். இல்லையெனில், nginx இயல்பாக 1 MB-ஐ மீறும் கோப்புகளை 413 Request Entity Too Large மூலம் நிராகரிக்கும். certbot மூலம் certificate-ஐ உருவாக்குங்கள். இது listen 443 ssl வரிகளையும் port 80-இலிருந்து redirect-ஐயும் உங்களுக்காக எழுதும். படிகள் nginx-க்கான Let's Encrypt certificate வழிகாட்டியில் உள்ளன. 80 மற்றும் 443 port-களைத் திறந்து, 9000-ஐ மூடியே வையுங்கள். Proxy, அதை loopback மூலம் அணுகுகிறது. Firewall இன்னும் அமைக்கப்படவில்லை என்றால், ufw firewall அடிப்படைகளில் தொடங்குங்கள்.
பின்னர் admin panel-ஐத் திறந்து, Settings பகுதியில் root URL-ஐ https://lists.example.com என அமைக்கவும். புதிய install-ல் http://localhost:9000 இருக்கும். Listmonk, email-ல் சேர்க்கும் ஒவ்வொரு unsubscribe link மற்றும் media URL-லும் அந்த மதிப்பை எழுதுகிறது. அதை மாற்றுவதற்கு முன் campaign ஒன்றை அனுப்பினால், ஒவ்வொரு recipient-க்கும் அவர்களின் சொந்த machine-ஐச் சுட்டும் links கிடைக்கும். அவை வாசகருக்கு செயல்படாது. Spam filter-க்கு, தன் domain-ஐச் சரியாக configure செய்ய முடியாத sender போலத் தோன்றும்.
config.toml இல் இல்லாத SMTP-ஐ இணைத்தல்
config.toml இல் SMTP பகுதியைத் தேடினால், அது இருக்காது. அஞ்சல் அமைப்புகள் database-இல் உள்ள settings table-இல் சேமிக்கப்படுகின்றன. அவற்றை admin panel-இல் Settings மற்றும் SMTP பகுதிகளின் கீழ் திருத்தலாம். அதனால் உருவாக்கப்படும் file மிகவும் சிறியதாக இருக்கும். SMTP அமைப்பை மாற்ற restart தேவையில்லை என்பதற்கும் இதுவே காரணம்.
SMTP server-க்கு இரண்டு நடைமுறைத் தெரிவுகள் உள்ளன. நீங்களே ஒன்றை இயக்கலாம். அப்போது அதன் reputation முழுவதும் உங்கள் கட்டுப்பாட்டில் இருக்கும். ஆனால் அது தனித்தொரு முழுமையான project ஆகும்: Mailcow மூலம் உங்கள் சொந்த mail server-ஐ இயக்குதல் என்பதில் தேவையான விவரங்கள் உள்ளன. அல்லது Listmonk-ஐ transactional relay-க்கு இணைத்து, IP reputation-ஐ வேறு நிறுவனம் நிர்வகிக்க விடலாம்.
எந்தத் தெரிவை எடுத்தாலும், STARTTLS உடன் port 587-ஐ அல்லது implicit TLS உடன் port 465-ஐ பயன்படுத்துங்கள். வெளிச்செல்லும் port 25-ஐ பயன்படுத்தத் திட்டமிட வேண்டாம். புதிய accounts-இல் பெரும்பாலான VPS providers அதை இயல்பாகவே block செய்கின்றனர். Block செய்யப்பட்ட port 25, connection முடங்கியிருப்பது போல் தோன்றும். Packets மறுக்கப்படாமல் drop செய்யப்படுவதால், client உடனடியாக fail ஆகாமல் timeout-க்காகக் காத்திருக்கும்.
நம்புவதற்கு முன் அதைச் சோதியுங்கள். ஒரு list-ஐ உருவாக்கி, உங்கள் சொந்த address-ஐ subscriber ஆகச் சேர்த்து, ஒரே recipient-க்கான campaign-ஐ அனுப்புங்கள். பெறப்பட்ட message-ஐத் திறந்து, முழு headers-ஐப் படியுங்கள். பெறும் தரப்பு சேர்க்கும் Authentication-Results header, SPF மற்றும் DKIM வெற்றிகரமாகச் சரிபார்க்கப்பட்டனவா என்பதைத் தெரிவிக்கும்.
விநியோகத் திறனே முழுப் பணியாகும்
Listmonk செய்தியை உருவாக்கி, பட்டியலைக் கண்காணித்து, அஞ்சலை அடுத்த கட்டத்திற்கு அனுப்புகிறது. அந்த அஞ்சல் inbox-ஐ அடைகிறதா என்பதைப் பற்றிய ஒவ்வொரு முடிவையும், பெறும் provider, அனுப்பும் IP address மற்றும் அனுப்பும் domain-ஐ பயன்படுத்தி எடுக்கிறது. புதிய VPS IP-க்கு எந்த வரலாறும் இருக்காது. இந்த வரலாற்றின்மை, அனைத்து பெரிய mailbox provider-களாலும் ஓரளவு சந்தேகத்திற்குரியதாகக் கருதப்படுகிறது.
நான்கு அம்சங்கள் கட்டாயமானவை:
- உங்கள் domain சார்பில் அனுப்ப அனுமதிக்கப்பட்ட host-ஐ குறிப்பிடும் SPF (sender policy framework) TXT record.
- TXT record ஆக வெளியிடப்பட்ட DKIM (domainkeys identified mail) key. Signing பணியை Listmonk அல்ல, mail server செய்ய வேண்டும்.
- முதல் இரண்டு சோதனைகள் தோல்வியடையும் போது பெறுநர்கள் என்ன செய்ய வேண்டும் என்பதைத் தெரிவிக்கும் DMARC (domain based message authentication, reporting and conformance) record.
- Listmonk படிக்கும் bounce mailbox. இதனால் அஞ்சலை நிராகரிக்கும் addresses மீண்டும் மீண்டும் முயற்சிக்கப்படாமல் பட்டியலிலிருந்து நீக்கப்படும்.
அதன் பிறகு, தொடக்கத்தில் மெதுவாக அனுப்புங்கள். இதற்கு முன் அஞ்சல் அனுப்பாத domain ஒன்று திடீரென ஒரு மணி நேரத்தில் பத்தாயிரம் messages-ஐ வழங்கினால், அது compromised account போலத் தெளிவாகத் தோன்றும். எனவே அது அத்தகைய கணக்கைப் போலவே filter செய்யப்படும். முதலில் அதிகம் ஈடுபடும் subscribers-ஐத் தேர்ந்தெடுத்து, பல நாட்களில் volume-ஐ அதிகரிக்கவும்.
ஒவ்வொரு template-க்கும் செயல்படும் unsubscribe link தேவை. Listmonk template-ல் அது {{ UnsubscribeURL }} ஆகும். Campaign body, {{ template "content" . }} இருக்கும் இடத்தில் சேரும். ஒவ்வொரு template-லும் {{ template "content" . }} சரியாக ஒரு முறை இடம்பெற வேண்டும். Unsubscribe link இல்லாத campaign, unsubscribes-க்கு பதிலாக spam complaints-ஐ உருவாக்கும். பல வாரங்களில் உருவாக்கிய sending reputation-ஐ இழக்க complaints-கள் மிக விரைவான வழியாகும்.
Backups, மற்றும் restore-க்கு உண்மையில் தேவையானவை
இரண்டு விஷயங்கள் server-ஐ விட்டு வெளியே செல்ல வேண்டும்: database dump மற்றும் config.toml. Campaigns-ல் images-ஐ upload செய்தால், media directory-யையும் சேர்க்கவும்.
sudo -u postgres pg_dump -Fc listmonk > listmonk-$(date +%F).dumpஇந்த dump-ல் subscribers, campaigns, templates மற்றும் SMTP credentials உட்பட அனைத்து settings-களும் உள்ளன. எனவே, இதை encrypt செய்து இந்த server-க்கு வெளியே வைத்திருக்கவும். இதற்கான scheduling ஏற்கனவே தீர்க்கப்பட்ட பிரச்சினையாகும்: remote storage-க்கு encrypted restic backups என்பதைப் பார்க்கவும். config.toml சில வரிகளே கொண்டது, ஆனால் அதில் database password உள்ளது. எனவே, அதையும் அதே முறையில் கையாளவும்.
Upgrades ஒரு குறிப்பிட்ட வரிசையில் பின்பற்றப்பட வேண்டும். Service-ஐ stop செய்து, dump எடுத்து, /usr/bin-ல் binary-ஐ மாற்றி, listmonk --config /etc/listmonk/config.toml --upgrade-ஐ இயக்கி, பின்னர் service-ஐ start செய்யவும். Schema migrations முன்னோக்கி மட்டுமே இயங்கும். எனவே, மீண்டும் முந்தைய நிலைக்குச் செல்ல அந்த dump மட்டுமே ஒரே வழியாகும்.
Listmonk ஏன் தொடங்குவதில் தோல்வியடைகிறது?
முதலில் journalctl -u listmonk -n 50 --no-pager மூலம் journal-ஐப் படிக்கவும். கிட்டத்தட்ட ஒவ்வொரு startup தோல்வியும் [db] block-இல் உள்ள ஒரு வரியால் விளக்கப்படும்.
pq: password authentication failed for user "listmonk" என்பது [db]-இல் உள்ள password, Postgres role-உடன் பொருந்தவில்லை என்பதைக் குறிக்கிறது. pq prefix, server கோரிக்கையை நிராகரித்ததாக Postgres driver தெரிவிப்பதைக் குறிக்கிறது. எனவே config சரியாகப் படிக்கப்பட்டது; credentials மட்டுமே தவறாக இருந்தன. sudo -u postgres psql -c "ALTER USER listmonk WITH PASSWORD 'new-password';" மூலம் role-ஐ reset செய்து, அதே string-ஐ file-இல் இடவும்.
pq: database "listmonk" does not exist என்பது [db]-இல் உள்ள database value, உண்மையான database-ஐக் குறிப்பிடவில்லை என்பதைக் குறிக்கிறது. Server-இல் உண்மையில் உள்ளவற்றையும், நீங்கள் தவறாகப் பயன்படுத்திய spelling-ஐயும் sudo -u postgres psql -l பட்டியலிடும்.
--install நடைபெறும் போது permission denied தோன்றினால், role connect செய்ய முடிகிறது; ஆனால் அது database-க்கு owner அல்ல. எனவே அதில் tables-ஐ உருவாக்க முடியாது. sudo -u postgres psql -c "ALTER DATABASE listmonk OWNER TO listmonk;" மூலம் இதைச் சரிசெய்து, install-ஐ மீண்டும் இயக்கவும்.
Service ஒருபோதும் தொடங்காது; journal config file-ஐக் குறிப்பிடும். listmonk ஆக இயங்கும் process, mode 600 உடன் root:root என வைக்கப்பட்டுள்ள config.toml-ஐத் திறக்க முடியாது. stat -c '%U:%G %a' /etc/listmonk/config.toml, root:listmonk 640 என்பதை வெளியிட வேண்டும். அதற்கு மேலுள்ள directory, root:listmonk 750 ஆக இருக்க வேண்டும்.
Panel செயல்படுகிறது; ஆனால் mail எதுவும் வரவில்லை. இது startup பிரச்சினை அல்ல. முதலில் Settings மற்றும் SMTP-ஐச் சரிபார்க்கவும். பின்னர் admin panel-இல் உள்ள campaign-ன் சொந்த log-ஐப் பார்க்கவும். ஒவ்வொரு முயற்சிக்கும் mail server திருப்பிய error-ஐ அது பதிவு செய்யும்.
FAQ
Listmonk-ஐப் பயன்படுத்த எனக்கென சொந்த mail server தேவைப்படுமா?
இல்லை. Listmonk ஒரு mail server அல்ல. உங்கள் mail-ஐ ஏற்றுக்கொண்டு வழங்கும் server-க்கான SMTP credentials இதற்குத் தேவைப்படும். அது transactional relay ஆகவோ, நீங்கள் சொந்தமாக இயக்கும் mail server ஆகவோ இருக்கலாம். Admin panel-இல் Settings மற்றும் SMTP என்பவற்றின் கீழ் அந்த credentials-ஐ அமைக்கவும். அவற்றை config.toml-இல் அமைக்க வேண்டாம், ஏனெனில் mail settings database-இல் சேமிக்கப்படுகின்றன. புதிய கணக்குகளில் பெரும்பாலான VPS providers வெளிச்செல்லும் port 25-ஐத் தடுக்கின்றனர். ஆகவே STARTTLS உடன் port 587 அல்லது implicit TLS உடன் port 465-ஐப் பயன்படுத்தவும்.
எனது campaign-இல் உள்ள links ஏன் localhost:9000-ஐக் குறிக்கின்றன?
Root URL அமைப்பு இன்னும் நிறுவலின் இயல்புநிலை மதிப்பான http://localhost:9000-ஆகவே உள்ளது. Campaign அனுப்பப்படும் நேரத்தில் Listmonk அந்த மதிப்பை unsubscribe links மற்றும் media URLs-இல் எழுதுகிறது. Admin panel-இல் Settings-ஐத் திறந்து, root URL-ஐ உங்கள் உண்மையான HTTPS address-ஆக அமைத்து, save செய்யவும். ஏற்கனவே வழங்கப்பட்ட messages-ஐச் சரிசெய்ய முடியாது. எனவே உண்மையான list-க்கு mail அனுப்புவதற்கு முன், உங்களுக்கே ஒரு test campaign அனுப்பி, அதிலுள்ள unsubscribe link-ஐத் திறந்து சரிபார்க்கவும்.
--install-ஐ மீண்டும் இயக்கினால் எனது subscribers அழிக்கப்படுவார்களா?
ஆம். --install என்பது முதல் முறை installer ஆகும். அது ஏற்கனவே உள்ள Listmonk schema-ஐ நீக்குகிறது. --yes எச்சரிக்கை வழங்க வேண்டிய prompt-ஐ அகற்றுகிறது. இரண்டு முறை இயங்கக்கூடிய எந்த script-இலும் --install --idempotent --yes-ஐப் பயன்படுத்தவும். Tables ஏற்கனவே இருந்தால் அது எந்தச் செயலையும் செய்யாது. புதிய release-இல் schema changes-ஐப் பயன்படுத்த, service-ஐ நிறுத்தி, ஒரு pg_dump எடுத்து, பின்னர் --upgrade-ஐ இயக்கவும்.
listmonk என்ற user-க்கான password authentication failed என்று Listmonk ஏன் கூறுகிறது?
/etc/listmonk/config.toml-இன் [db] block-இல் உள்ள password, அதே பெயருடைய Postgres role-இன் password-உடன் பொருந்தவில்லை. Journal line pq: password authentication failed for user "listmonk" ஆகும். pq என்பது server-ன் rejection-ஐ Postgres driver மேல்நிலைக்கு அனுப்புவதைக் குறிக்கிறது. இதனால் config file கண்டறியப்பட்டு வாசிக்கப்பட்டது என்பது தெரிகிறது. sudo -u postgres psql -c "ALTER USER listmonk WITH PASSWORD 'new-password';"-ஐப் பயன்படுத்தி role-ன் password-ஐ reset செய்யவும். அதே string-ஐ config file-இல் எழுதவும். பின்னர் sudo systemctl restart listmonk-ஐ இயக்கவும்.