Mailman

De NCad Wiki
Aller à la navigation Aller à la recherche

.:[ Serveur de Messagerie ]:.

Installation >> Postfix avec MySQL

Filtrage anti-spam : Anti-Spam SpamAssassin | Anti-Virus Clamav


Filtrage anti-virus : Plateforme de filtrage Amavis >> Amavis avec MySQL


Plus de fonctions : Ajouter un Disclaimer | Signature DKIM | Mailman | Maildrop


Clients de messagerie : Configurer Thundirbird | Configurer Roundcube


Pour aller plus loin : Commandes messagerie | DNSBL | MX Backup
Mailman logo.png

Cet {{{1}}} est en cours de rédaction.

Présentation

Mailman est un gestionnaire de mailing list. Ce programme est compatible avec Postfix et Exim4.

Prérequis

Avant d'étudier cette documentation il est nécessaire de disposer d'un serveur mail Postfix fonctionnel. De plus, nous utiliseront le domaine list.geocoucou.eu pour l'ensemble de nos listes. Le MX devra pointer sur le serveur mail pour ce domaine.

Installation

  • Nous installerons le paquet mailman avec ses dépendances et notamment le serveur web Apache2 :

mailman apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcap2 pwgen

  • Mailman demandera quels langues installer pour le gestionnaire de liste. On sélectionnera fr parmi la liste proposée.

Configuration

Mailman

  • Nous configurons le module mailman en éditant le fichier /etc/mailman/mm_cfg.py et en vérifiant/adaptant les paramètres suivants :
MAILMAN_SITE_LIST = 'geocoucou'
DEFAULT_EMAIL_HOST = 'list.geocoucou.eu'
DEFAULT_URL_HOST   = 'www.list.geocoucou.eu'
DEFAULT_SERVER_LANGUAGE = 'fr'
MTA='Postfix'
  • Si le serveur Postfix utilise une base données MySQL, il faut décommenter les lignes suivantes dans le fichier /etc/mailman/mm_cfg.py :
 MTA = None # So that mailman skips aliases generation
 POSTFIX_STYLE_VIRTUAL_DOMAINS = ['list.geocoucou.glx']
 # alias for postmaster, abuse and mailer-daemon
 DEB_LISTMASTER = 'postmaster@geocoucou.eu'
  • Une fois les paramètres renseignés, on crée la liste du système définie dans la variable MAILMAN_SITE_LIST :

mailman newlist mailman

  • Puis on démarre le service mailman :

service mailman start

Postfix

  • On édite le fichier /etc/postfix/main.cf puis on y ajoute les informations suivantes :
relay_domains = list.geocoucou.eu
transport_maps = hash:/etc/postfix/transport
mailman_destination_recipient_limit = 1
Si le transport_maps est géré dans une base de données, il faudra ajouter dans cette base le domaine list.mail.glx qui a pour transport mailman.
  • Nous ajoutons une nouvelle entrée dans le fichier /etc/postfix/transport :
list.geocoucou.eu        mailman:
  • Puis nous régénérons la base transport :

cd /etc/postfix
postmap transport

  • On édite le fichier /etc/postfix/master.cf puis on vérifie la présence des informations suivantes :
mailman unix  -       n       n       -       -       pipe
 flags=FR user=list 
 argv=/var/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
  • On rafraîchit la configuration de Postfix pour appliquer la configuration :

service postfix reload

Création d'une liste

  • Nous allons créer la liste ncad pour laquelle nous définirons comme adresse mail du propriétaire tech@ncad.fr et comme mot de passe 00000000 :

newlist --urlhost=www.list.geocoucou.eu --emailhost=list.geocoucou.eu ncad tech@ncad.fr 00000000
Tapez sur Entrée pour aviser le propriétaire de ncad...

  • Pour s'inscrire à la liste de diffusion, il suffit d'envoyer un mail à ncad-subscribe@list.geocoucou.eu. Mailman renverra un mail de confirmation d'inscription de ce type :
Avis de confirmation de demande d'abonnement pour la liste Ncad

Nous avons reçu une demande de  à partir de nicolas@cachelou.fr, pour
l'abonnement de votre adresse courriel "nicolas@cachelou.fr", à la
liste de diffusion ncad@list.geocoucou.eu.  Pour confirmer la demande,
répondez à ce message en gardant l'en-tête Objet: intact, ou consultez
la page :

	http://www.list.geocoucou.eu/confirm/ncad/635e1d11268ef68c1793a5492134199b960f6d05 


ou bien mettez la ligne suivante - et seulement la ligne suivante -
dans le corps d'un message à l'attention de
ncad-request@list.geocoucou.eu: 

    confirm 635e1d11268ef68c1793a5492134199b960f6d05

Notez qu'un simple "répondre" devrait fonctionner pour la plupart des
lecteurs de courriel, puisque ceux-ci laissent en général l'en-tête
Objet: au format correct (un "Re:" devant l'objet passe).

Si vous ne souhaitez pas vous abonner à cette liste, ignorez
simplement ce message.  Si vous pensez être abonné à la liste contre
votre gré ou si avez d'autres questions, envoyez un message à
ncad-owner@list.geocoucou.eu.


On peut aussi envoyer un mail à ncad-request@list.geocoucou.eu et mettre dans l'objet du message subscribe
  • Il suffit de répondre au message et l'inscription est terminée.
  • L'adresse mail de la liste de diffusion est ncad@list.geocoucou.eu. En envoyant un mail à cette adresse, tous les abonnés de la liste recevront le mail envoyé.
  • Pour supprimer la liste il suffit d'utiliser la commande rmlist avec l'option -a pour supprimer les archives :

rmlist -a ncad

Interface web

  • Mailman s'administre via une interface web. Les utilisateurs peuvent également l'utiliser pour gérer leur inscription. Dans notre cas, cette interface est accessible à l'adresse www.list.geocoucou.eu.
  • Nous allons définit un nouvel hôte virtuel dans Apache2. Pour cela, nous allons créer le fichier /etc/apache2/sites-available/www.list.geocoucou.eu.conf et y inscrire les lignes suivantes :
<VirtualHost *:80>
ServerName www.list.geocoucou.eu
DocumentRoot /var/www/lists/
ErrorLog /var/log/apache2/lists-error.log
CustomLog /var/log/apache2/lists-access.log combined

<Directory /var/lib/mailman/archives/>
   Options FollowSymLinks
   AllowOverride None
</Directory>

Alias /pipermail/ /var/lib/mailman/archives/public/
Alias /images/mailman/ /usr/share/images/mailman/
ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin
ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb
ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm
ScriptAlias /create /usr/lib/cgi-bin/mailman/create
ScriptAlias /edithtml /usr/lib/cgi-bin/mailman/edithtml
ScriptAlias /listinfo /usr/lib/cgi-bin/mailman/listinfo
ScriptAlias /options /usr/lib/cgi-bin/mailman/options
ScriptAlias /private /usr/lib/cgi-bin/mailman/private
ScriptAlias /rmlist /usr/lib/cgi-bin/mailman/rmlist
ScriptAlias /roster /usr/lib/cgi-bin/mailman/roster
ScriptAlias /subscribe /usr/lib/cgi-bin/mailman/subscribe
ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
ScriptAlias / /usr/lib/cgi-bin/mailman/listinfo
</VirtualHost>
  • Ensuite nous activons ce nouvel hôte virtuel :

a2ensite /etc/apache2/sites-available/www.list.geocoucou.eu.conf

  • Puis nous rafraîchissons la configuration d'Apache2 :

service apache2 reload