ezmlm-idx

26 novembre 2025 by Roberto Puzzanghera 0 commenti

ezmlm è un software di D.J. Bernstein per la gestione di mailing-list. E' semplice e veloce. ezmlm-idx è un'estensione di ezmlm.

La mia versione su github contiene alcune patch si terze parti e una opzione per il compilatore che consente di compilare il programma con i compilatori moderni.

Scaricare, generare il Makefile e compilare:

git clone https://github.com/sagredo-dev/ezmlm-idx.git
cd ezmlm-idx
tools/makemake
make
make man

Il linguaggio di default è impostato su en_US:

# ls -l lang/default 
lrwxrwxrwx 1 root root 5 Nov 26 20:13 lang/default -> en_US/

Se si preferisce impostarlo al proprio linguaggio locale è necessario modificare li link simbolico di cui sopra.

Test:

# bin/ezmlm-test

getconfopt library:   OK
ezmlm-make:           OK
Using subdb plugin:   std
ezmlm-reject:         OK
ezmlm-[un|is]sub[n]:  OK
ezmlm-checksub:       OK
ezmlm-send:           OK
ezmlm-tstdig:         OK
ezmlm-weed:           OK
ezmlmrc contents:     OK
ezmlm-clean:          OK
ezmlm-store:          OK
ezmlm-return:         OK
ezmlm-warn (1/2):     OK
ezmlm-manage (1/2):   OK
ezmlm-request:        OK
ezmlm-split:          OK
ezmlm-gate:           OK
ezmlm-idx:            OK
ezmlm-get (index):    OK
ezmlm-get (get):      OK
ezmlm-get (thread):   OK
ezmlm-get (digest):   OK
ezmlm-manage (2/2):   OK
ezmlm-moderate:       OK
ezmlm-warn (2/2):     OK
ezmlm-archive:        OK
ezmlm-dispatch:       OK                                                                                                                    
dispatch editor:      OK                                                                                                                    
decode sender:        OK                                                                                                                    
Verifying message header and body contents...                                                                                               
flags:                OK                                                                                                                    
substitutions:        OK                                                                                                                    
messages:             OK                                                                                                                    
subscribe nop:        OK                                                                                                                    
unsubscribe nop:      OK                                                                                                                    
subscribe probe:      OK                                                                                                                    
unsubscribe probe:    OK
subscribe:            OK
unsubscribe:          OK
moderated subscribe:  OK
moderated unsub:      OK
subscribe by mod:     OK
unsubscribe by mod:   OK
copylines:            OK
ezmlm-send:           OK
ezmlm-send trailer:   OK
omitbottom (-manage): OK
omitbottom (-get):    OK
Cleaning up...

Installazione:

make install

Installazione del supporto per MySQL

Il vantaggio principale di avere il supporto a MySQL è poter accedere facilmente al DB attraverso un programma di scripting come perl, java, PHP.

Sfortunatamente il programma non sembra in grado di gestire più mailing/list con un singolo database, quindi è necessario creare un database per ogni lista. Per questo motivo suggerisco di disabilitare il supporto a MySQL. Ad ogni modo ecco come impostarlo.

Si tenga presente che, quando su qmailadmin si impostano i parametri per la connessione, l'indirizzo del server deve essere mysql:localhost o comunque mysql:ip-del-server.

Quando si crea una lista , un file sql contenente le informazioni per la connessione viene creato nella cartella base della lista. Quando esiste questo file, la lista viene considerata come avente il supporto per MySQL.

Creare il database:

# mysql -u root -p

CREATE USER 'ezmlm'@'localhost' IDENTIFIED BY '[ezmlm-password]';

GRANT USAGE ON * . * TO 'ezmlm'@'localhost' IDENTIFIED BY '[ezmlm-password]' WITH MAX_QUERIES_PER_HOUR 0
MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

CREATE DATABASE IF NOT EXISTS `ezmlm` ;
GRANT ALL PRIVILEGES ON `ezmlm` . * TO 'ezmlm'@'localhost';

Compilazione:

make mysql

Test:

# bin/ezmlm-test -s mysql -u ezmlm -p [ezmlm-password] -h localhost

getconfopt library:   OK
ezmlm-make:           OK
Using subdb plugin:   mysql
ezmlm-reject:         OK
ezmlm-[un|is]sub[n]:  OK
ezmlm-checksub:       OK
ezmlm non-SQL:        OK
ezmlm SQL:            OK
ezmlm-send:           OK
ezmlm-tstdig:         OK
ezmlm-weed:           OK
ezmlmrc contents:     OK
ezmlm-clean:          OK
ezmlm-store:          OK
ezmlm-return:         OK
ezmlm-warn (1/2):     OK
ezmlm-manage (1/2):   OK
ezmlm-request:        OK
ezmlm-split:          OK
ezmlm-gate:           OK
ezmlm-idx:            OK
ezmlm-get (index):    OK
ezmlm-get (get):      OK
ezmlm-get (thread):   OK
ezmlm-get (digest):   OK
ezmlm-manage (2/2):   OK
ezmlm-moderate:       OK
ezmlm-warn (2/2):     OK
ezmlm-archive:        OK
ezmlm-dispatch:       OK
dispatch editor:      OK
decode sender:        OK
Verifying message header and body contents...
flags:                OK
substitutions:        OK
subscribe nop:        OK
unsubscribe nop:      OK
subscribe probe:      OK
unsubscribe probe:    OK
subscribe:            OK
unsubscribe:          OK
moderated subscribe:  OK
moderated unsub:      OK
subscribe by mod:     OK
unsubscribe by mod:   OK
copylines:            OK
ezmlm-send:           OK
ezmlm-send trailer:   OK
omitbottom (-manage): OK
omitbottom (-get):    OK
Cleaning up...

A questo punto, se il test è andato a buon fine, si può installare il programma:

make install

Aggiungi un commento

qmail notes

Pay me a coffee:

PayPal - The safer, easier way to pay online.

LXC scripts
Other contents
Guide per gli utenti
Ultimi commenti
Vedi anche...
Articoli recenti

RSS feeds