WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:mail:mailing-lists

Mailing-lists

Mailman

Nous utilisons Mailman pour gérer les listes MiNET. L'interface Web est accessible sur https://listes.minet.net. La configuration de base se trouve dans /etc/mailman/mm_cfg.py.

Il y a aussi un Postfix avec une configuration de base, pour assurer la réception et l'envoi des mails.

Quelques emplacements utiles:

  • Les données sont stockées dans /var/lib/mailman/
  • On a accès à la liste des listes dans /var/lib/mailman/lists
  • Dans /var/log/mailman, les fichiers de logs 'post' contiennent les infos sur chacun des envois sur les listes.

Installation

Paquets à installer

Comme indiqué au dessus, mailman a besoin d'un serveur apache et d'un MTA. apt installera apache et exim avec mailman. Il faudra remplacer exim par postfix (parce qu'on utilise postfix à MiNET). Le second chasse le premier lorsqu'on l'installe.

apt-get install mailman postfix
Configurer mailman

La première chose à faire est de créer un mot de passe pour l'administration du site et un mot de passe maître pour la création des listes. Ceci permet de créer des listes avec l'interface web.

mmsitepass <motdepasse-admin-site>
mmsitepass -c <motdepasse-creation-listes>

Pour que l'interface web puisse s'afficher, il faut aussi créer une liste par défaut.

newlist mailman
  Enter the email address of the person running the list: listmaster@minet.net
  Initial mailman password:

Attention, il n'y a pas de confirmation pour le mot de passe.

Cette commande va générer une liste d'alias qui doit plus ou moins ressembler à ça :

# mailman mailing list
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Il faut coller cette liste dans /etc/aliases puis lancer en root la commande :

newaliases
Configurer apache

Une configuration pour apache est fournie avec mailman. Elle se trouve dans /etc/mailman/apache.conf.

Il suffit de mettre un lien symbolique vers ce fichier dans /etc/apache2/sites-enabled

cd /etc/apache2/sites-enables
ln -s /etc/mailman/apache.conf .
/etc/init.d/apache2 restart

Vous pouvez accéder à l'interface web à partir de ipdelamachine/mailman

NB: Le fichier de configuration par défaut à changer et pour joindre le site http://nomdomaine/cgi-bin/mailman/admin/mailman .Tenter aussi un a2enmod cgid .

Configurer postfix

Il faut d'abord modifier /etc/mailman/mm_cfg.py pour que mailman utilise postfix.

MTA = 'postfix'

Pour le reste de la configuration de Postfix, rendez-vous dans /etc/postfix/main.cf :

myorigin = /etc/mailname
 
# appending .domain is the MUA's job.
append_dot_mydomain = no
 
readme_directory = no
 
myhostname = listes.minet.net
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/aliases
mydestination = listes, listes.minet.net, localhost.localdomain, localhost
relayhost = mx.minet.net:10025
mynetworks = 127.0.0.0/8 192.168.102.25 192.168.102.26
mailbox_size_limit = 0
 
# Nécessaire pour mailman
recipient_delimiter = +
 
inet_interfaces = localhost 192.168.102.29
 
mailman_destination_recipient_limit = 1
/usr/lib/mailman/bin/check_perms -f

Et on redémarre le tout :

/etc/init.d/postfix restart
/etc/init.d/mailman start

Gestion des mailing lists

En plus de l'interface Web, il est possible de gérer les listes en ligne de commande.

Pour supprimer une liste : Sur la machine, en root, utiliser la commande :

rmlist lenomdelaliste

Générer des statistiques

Ci-joint un petit script en python qui permet de récupérer des infos sur les listes. Par exemple, pour générer les statistiques des envois sur les 7 derniers mois, utiliser en root :

python stats_listes.py 7

Libérer de l'espace disque

Mailman a une fâcheuse tendance à stocker des archives, y compris pour les listes privées. La commande ci-dessous permet de vider les messages et les fichiers attachés sur les listes privées datant de plus de 30 jours.

find /var/lib/mailman/archives/private/ -ctime +30 | xargs rm -rf
wiki/mail/mailing-lists.txt · Dernière modification: 2017/02/27 02:34 par sowarks