franGiPane - listes de discussion (scripts)
Scripts concernant MailingLists.
Travail préliminaire à revoir
classe liste
créer_liste(adresse, adresse_admin=listes@boum.org, notifier=oui, mot_de_passe_admin=blabla)
SI le domaine n'est pas géré par nous (au niveau de Postfix, DNS, etc. ; cf ajout_domaine) ALORS exit(erreur: domaine étranger)
SI l'adresse de la liste existe déjà (alias/boîte Postfix, liste) ALORS exit(erreur: cette adresse existe déjà)
SI il existe déjà une liste dont le nom est le même, y compris avec un autre nom de domaine ALORS exit(erreur: adresse non disponible)
SI notifier = oui ALORScd /usr/lib/mailman/bin
puis (parce que sinon, ça marche pas forcément, le chemin absolu) sudo newlist $adresse $adresse_admin $mot_de_passe_admin
SINON sudo newlist -q $adresse $adresse_admin $mot_de_passe_admin
FIN SI
cleaner après soi si ça déconne
importer_liste(adresse, repertoire_lists, repertoire_archives)
$real_name = ce qu'il y a à gauche du @
$domaine.tld = ce qu'il y a à droite du @
verifier que les repertoires sont bons
SI créer_liste(adresse, notifier=non) ne marche pas ALORS exit(erreur de créer_liste)
importer la config : cp -a $repertoire_lists/* /var/lib/mailman/lists/$real_name
importer les archives : rm -rf /var/lib/mailman/archives/private/$real_name*
cp -a $repertoire_archives/private/$real_name* /var/lib/mailman/archives/private/
adapter la config à notre setup :
cd /var/lib/mailman
SI la liste n'est pas archivée publiquement ALORS
rm public/$real_name
FIN SI
cd ..
./bin/withlist $real_name
>>> m.Lock()
>>> m.web_page_url='https://boum.org/mailman/'
>>> m.Save()
>>> m.Unlock()
./bin/arch $real_name
Prévenir les users
supprimer_liste (adresse)
/var/lib/mailman/bin/rmlist -a LISTE