mlmmj : Liste de diffusion

À l'heure où il existe des réseaux sociaux en tous genres, avec leurs interfaces spécifiques, ainsi que des applications de messagerie instantanées, des forums, ..., rappelons que les listes de diffusion sont géniales.

Oui, je le dis et je l'assume, les mailing lists, c'est l'avenir car :

Je suis convaincu que les listes de diffusion ont de belles années devant elles.

Ici, je vous propose d'utiliser mlmmj puisqu'il fonctionne bien avec OpenBSD et répond à des exigences fortes en terme de performance, de sécurité et de simplicité.

Site officiel mlmmj

Installer mlmmj

C'est plus long à écrire qu'à faire :

# pkg_add mlmmj

Ajouter une liste de diffusion

Utilisez la commande "mlmmj-make-ml" fourni avec le port, puis laissez-vous guider.

Voici un exemple pour créer la liste "pizza" sur le domaine "list.chezmoi.tld", soit "pizza@list.chezmoi.tld".

# mlmmj-make-ml
Creating Directorys below /var/spool/mlmmj. Use '-s spooldir' to change
What should the name of the Mailinglist be? [mlmmj-test] : pizza
The Domain for the List? [] : chezmoi.tld
The emailaddress of the list owner? [postmaster] : batman@chezmoi.tld

For the list texts you can choose between the following languages or
give a absolute path to a directory containing the texts.

Available languages:
ast   cs    de    en    fi    fr    gr    it    pt    sk    zh-cn
The path to texts for the list? [en] :

Don't forget to add this to /etc/aliases:
pizza:  "|/usr/local/bin/mlmmj-receive -L /var/spool/mlmmj/pizza/"

If you're not starting mlmmj-maintd in daemon mode,
don't forget to add this to your crontab:
0 */2 * * * "/usr/local/bin/mlmmj-maintd -F -L /var/spool/mlmmj/pizza/"

 ** FINAL NOTES **
1) The mailinglist directory have to be owned by the user running the
mailserver (i.e. starting the binaries to work the list)
2) Run newaliases

Assurez-vous que les permissions sont bonnes :

# chown -R _smtpd:_smtpd /var/spool/mlmmj/pizza

Éditez le crontab de root ("# crontab -e") pour ajouter la ligne donnée précédent :

0 */2 * * *  /usr/bin/mlmmj-maintd -F -L /var/spool/mlmmj/pizza

Préparer smtpd

Éditez le fichier "/etc/mail/smtpd.conf" pour qu'il traite correctement les mails destinés à votre liste de diffusion :

table aliases "/etc/mail/aliases"
[...]
action local_mail maildir alias <aliases>
[...]
match from any for domain "list.chezmoi.tld" action local_mail

Il est important que l'action PRENNE EN COMPTE les alias.

Il faut justement éditer le fichier "/etc/mail/aliases" pour envoyer à mlmmj les messages destinés à votre liste :

pizza:"|/usr/local/bin/mlmmj-receive -L /var/spool/mlmmj/pizza/"

Terminez avec la commande "newaliases" ou en redémarrant smtpd.

Personnaliser une liste

Comme vous vous en doutez, les fichiers concernant votre liste sont situés dans "/var/spool/mlmmj/pizza".

mlmmj se configure en éditant seulement quelques fichiers situés dans le répertoire "control". Dans notre cas, cela donne "/var/spool/mlmmj/pizza/control".

Voici quelques éléments de configuration non exhaustifs en ajoutant les fichiers suivants :

deny !^Content-Type: text/plain
allow
Quitter la liste: pizza+unsubscribe@list.chezmoi.tld
Anciens messages (N: un nombre): pizza+get-N@list.chezmoi.tld
Aide: pizza+help@list.chezmoi.tld

On peut aussi modifier le contenu des modèles de message en allant les chercher dans "/var/spool/mlmmj/pizza/text".

Consultez la documentation pour d'autres éléments de configuration