Lismonk, a newsletter server
home of Listmonk
install
https://listmonk.app/docs/installation/
download latest release https://github.com/knadh/listmonk/releases
PostgreSQL
first install
apt install postgresql
become postgres user
su - postgres
enter postgres console
psql
create db
createdb DBNAME -l en_US.UTF-8 -0 postgres -E UTF8
create user for db
createuser --no-inherit --createdb DBNAME
createuser --superuser --no-inherit --no-createrole --no-createdb --pwprompt USERNAME
start using the db
postgres@newsletters:/var/www/listmonkonthefly$ psql
list databases
\l
connect to database
\c listmonkontheflydb
list definition terms of field
\dt
select subscriber_lists to be modified
SELECT * from subscriber_lists;
select ‘unconfirmed’ users;
SELECT * from subscriber_lists WHERE status='unconfirmed';
modify values
only one desired list using the WHERE list_id=<number> it will confirm all subscribers even unsubscribed ones
UPDATE subscriber_lists SET status='confirmed' WHERE list_id=1;
keep unsubscribed status, modify only unconfirmed suscribers in any list using the WHERE status='unconfirmed
UPDATE subscriber_lists SET status='confirmed' WHERE status='unconfirmed';
quit
\q
upgrade
https://listmonk.app/docs/upgrade/
download & extract new
download latest linux from releases https://github.com/knadh/listmonk/releases/
wget https://github.com/knadh/listmonk/releases/download/v2.3.0/listmonk_2.3.0_checksums.txt
wget https://github.com/knadh/listmonk/releases/download/v2.3.0/listmonk_2.3.0_linux_amd64.tar.gz
sha256sum listmonk*linux*tar.gz
cat listmonk*checksums.txt |grep linux
tar -xzvf listmonk_*_linux_amd64.tar.gz
backup the actual listmonk
tar -czvf listmonkhangar-bkp.tar.gz /var/www/listmonkhangar
stop the service
systemctl stop listmonkhangar.service
delete old files and replace by new ones
cd /var/www/listmonkhangar/
delete files but NOT uplodads
rm lismonk LICENSE README.md
tar -xzvf /root/listmonk_2.x.x_linux_amd64.tar.gz
chown -R www-data:www-data ./
./listmonk --upgrade
if everything is ok restart the service
systemctl start listmonkhangar.service
check service
systemctl status listmonkhangar.service
export imort users
export from mailman
list_members > listname-members.txt
convert txt to csv
usin vim
cp listname-members.txt listname-members.csv
vim listname-members.csv
inside vim
:%s/\n/\,\r/g
in vim add email, to first line so it is the header of the CSV file.
duplicate file to generate names form begining of mail
in vim delete everything before @
https://stackoverflow.com/questions/24111723/delete-all-characters-after-in-each-line
:%norm f@C
in libreoffice merged both files
in vim added column at the end with ,{}
:%s/\n/\,\{\}\r/g
upload to listmonk
apply changes to confirm users with postgresql commands
avoid spam and maintain user lists
To avoid spam please use Captcha
clean up users
in Admin -> Settings -> Maintenance —>
- suscripciones eliminar Huerfanas y Bloqueada
en psql buscar la cadena
NOT EXISTS (SELECT 1 FROM subscriber_lists sl WHERE sl.subscriber_id = subscribers.id)