mailman: add archives documentation
[doc-infra.git] / doc / mailman.rst
1 Fonctionnement de Mailman
2 =========================
3
4 Mailman est un serveur de listes mails.
5 Il s'occupe de la gestion des abonnements, des archives ...
6
7 La gestion sur les serveurs mail
8 --------------------------------
9
10 Un seul serveur mail a mailman installé et configuré pour envoyer des mails : c'est celui qui héberge le site web (à cause du RPC qui tourne en local).
11 Les autres MXs peuvent (éventuellement) recevoir des mails à destination d'une liste ; dans ce cas, ils transmettront au plus tôt à svoboda.
12
13 Le serveur de développement peut aussi avoir mailman installé.
14
15 La gestion sur le Web
16 ---------------------
17
18 XMLRPC
19 ------
20
21 Le démon RPC tourne sous ``supervise``, un programme des daemontools, qui se charge de relancer un service (exécutable) s'il s'arrête. Quand tout se passe bien, on peut utiliser ``svc -[option]`` pour (re)lancer / arrêter / ... le démon RPC.
22
23 Le RPC reçoit des commandes depuis le site web, qui viennent par XMLRPC. (Détails)
24
25 Debug
26 -----
27
28 Mailman, comme postfix, possède plusieurs queues mail.
29 Elles sont dans plusieurs sous-dossiers de ``/var/lib/mailman/qfiles``.
30
31 On dispose de
32
33 * ``/var/lib/mailman/bin/show_qfiles`` pour inspecter le contenu d'un message (argument = fichier ``.pck`` du message) ;
34 * ``/var/lib/mailman/bin/unshunt`` pour libérer des messages.
35 * ``/var/lib/mailman/bin/discard`` pour supprimer un message en modération (dans le cas de spam vraiment massif).
36
37 Mailman logge dans ``/var/log/mailman``.
38
39 Archives
40 --------
41
42 Les archives de mailman se trouvent dans ``/var/lib/mailman/archives/private``. Par exemple la liste ma-liste@listes.example.org a ses archives dans un fichier MBOX situé dans ``/var/lib/mailman/archives/private/ma-liste.mbox/ma-liste.mbox``.
43 À Polytechnique.org, la visualisation de ces archives sur internet utilise Banana, qui communique avec mailman en NNTP pour obtenir les arborescences de messages.
44
45 Pour supprimer un message, il suffit d'éditer le fichier MBOX avec par exemple Mutt::
46
47     cp ma-liste.mbox modif.mbox
48     mutt -f modif.mbox
49
50 À la fin de l'édition du fichier mbox, Mutt a pu ajouter des entêtes suivants dans les messages::
51
52     Status: O
53     Content-Length: 357
54     Lines: 15
55
56 Pour les supprimer, il suffit d'éxecuter la commande ``sed`` suivante::
57
58     sed '/^Status: /{N;N;/Content-Length: .*Lines: /d}' < modif.mbox > modif-clean.mbox
59
60 À la fin du traitement, si ``ma-liste.mbox`` n'a pas été modifié (ie. si aucun message n'a été reçu), il est possible de régénérer les archives comme décrit sur http://wiki.list.org/pages/viewpage.action?pageId=4030681)::
61
62     mv ma-liste.mbox OLD-ma-liste.mbox
63     mv modif-clean.mbox ma-liste.mbox
64     cd /var/lib/mailman
65     ./bin/arch ma-liste
66
67 De plus, il faut vider le cache de banana concernant les archives de la liste::
68
69     rm ~web/prod/platal/spool/banana/MLArchives/ma-liste/*