User Tools

Site Tools


infra:mailing-list

This is an old revision of the document!


Mailing list

Finalement on utilise mailman vu que sympa ne veut pas envoyer d'email et que je n'ai pas trouvé pourquoi. (et mailman est en python, sympa en perl!)

Installation et configuration de mailman

apt-get install mailman

Choisir les langues fr et en, langue par défaut fr.
Le système d'installation nous demande de créer une liste mailman, mais il faut configurer mailman en premier, après c'est trop tard.
Éditer /etc/mailman/mm_cfg.py, et changer :

DEFAULT_URL_PATTERN = 'https://%s/mailman/'
DEFAULT_EMAIL_HOST = 'jack.tf'
DEFAULT_URL_HOST   = 'liste.jack.tf'
DEFAULT_SERVER_LANGUAGE = 'fr'
MTA=None

On peut ensuite ajouter la ou les listes :

newlist mailman

entrer listadmin@jack.tf et un mot de passe. Faire pareil pour les listes core ou autre.

Configuration d'exim

Source : https://www.debian-administration.org/article/617/Mailman_and_Exim4 et /usr/share/doc/mailman/README.Exim4.Debian.gz
Dans exim4.conf (un seul fichier, osef de la génération auto de fichier, c'est pénible), ajouter : Les définitions :

# Mailman macro definitions

# # Home dir for the Mailman installation
MM_HOME=/var/lib/mailman

# # User and group for Mailman
MM_UID=list
MM_GID=list

# Domains that your lists are in - colon separated list
# you may wish to add these into local_domains as well
domainlist mm_domains=jack.tf

# The path of the Mailman mail wrapper script
MM_WRAP=MM_HOME/mail/mailman
#
# The path of the list config file (used as a required file when
# verifying list addresses)
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck

Un routeur (à peu près vers la fin, entre les routeurs 400 et 500 mais l'ordre est pas trop important) :

mailman_router:
  driver = accept
  domains = +mm_domains
  require_files = MM_LISTCHK
  local_part_suffix_optional
  local_part_suffix = -admin : \
    -bounces   : -bounces+*  : \
    -confirm   : -confirm+*  : \
    -join      : -leave      : \
    -owner     : -request    : \
    -subscribe : -unsubscribe
  transport = mailman_transport

Transport :

mailman_transport:
  driver = pipe
  command = MM_WRAP \
    '${if def:local_part_suffix \
    {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
    {post}}' \
    $local_part
  current_directory = MM_HOME
  home_directory = MM_HOME
  user = MM_UID
  group = MM_GID

Finalisation

Redémarrer exim et mailman :

 service exim4 restart; service mailman restart

Des emails doivent arriver dans les boites de listmaster.
Reste à trouver comment modérer l'inscription à une liste car pour le moment, tout le monde peut s'inscrire à core@jack.tf…

infra/mailing-list.1549987810.txt.gz · Last modified: 2023-02-02 22:06 (external edit)