1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Créer des listes de discussion avec Public Cloud
Ce guide explique comment créer manuellement un système de listes de discussion avec votre Service Mail, grâce à Mailman
et au Public Cloud d'Infomaniak !
⚠️ Ce guide s'adresse exclusivement à un public disposant d’un haut niveau de compétence technique. Aucune responsabilité n'est assumée en cas de dommage ou perte — sauvegardez impérativement vos données avant toute manipulation. Pour obtenir de l’aide, contactez un partenaire ou lancez gratuitement un appel d'offres. Découvrez également le rôle de l'hébergeur.
Préambule
Mailman
est une application libre permettant de gérer des listes de diffusion, de discussion et des newsletters.- Les fichiers fournis permettent de mettre en place
Mailman
facilement. - Le serveur et son pare-feu sont déployés avec
Terraform
, un outil d’Infrastructure as Code (IaaC)
, et sa configuration se fait avecAnsible
. - Ce système vous permet de créer des listes de discussion pour vos différents contacts (direction@, ecommerce@…).
Préparation…
… de votre environnement
- Disposer d’un Service Mail Infomaniak est indispensable pour suivre ce tutoriel.
- Téléchargez les fichiers nécessaires au déploiement de
Mailman
sur le Public Cloud via ce dépôt GitHub.
… de l'Environnement Mail
- Créez une adresse
mailman@domain.xyz
(aide) et conservez précieusement le mot de passe (utilisé pour configurer le serveur). - Ajoutez les alias suivants (aide) :
- postorius
- mylist
- mylist-bounces
- mylist-confirm
- mylist-join
- mylist-leave
- mylist-owner
- mylist-request
- mylist-subscribe
- mylist-unsubscribe
La préparation de votre environnement de messagerie est achevée, place au déploiement de Mailman !
… du Public Cloud
- Créez un projet Public Cloud et un utilisateur (aide).
- Attention : le mot de passe du Public Cloud doit être sécurisé. L’authentification 2FA sur votre compte Infomaniak est fortement recommandée.
- Cliquez ici pour accéder au tableau de bord OpenStack et utilisez l’identifiant
PCU-XXXXXX
avec le mot de passe défini. - Téléchargez votre fichier
openrc
. Il vous permet de vous authentifier comme administrateur en ligne de commande (il contient des infos comme l’identifiant, le mot de passe et le datacenter).
Vous êtes prêt à vous connecter à l’administration OpenStack.
… de l'instance
Pour rendre votre future instance accessible via SSH, HTTP et HTTPS, créez un security group
avec la commande suivante :
openstack security group create --description "Ports 22 - 80 - 443 pour Mailman" mailman-sec
Ajoutez ensuite les règles nécessaires :
openstack security group rule create --dst-port 80 --protocol TCP mailman-sec
openstack security group rule create --dst-port 443 --protocol TCP mailman-sec
openstack security group rule create --dst-port 22 --protocol TCP mailman-sec
Ces étapes peuvent aussi être réalisées depuis le dashboard Horizon, dans l’onglet Réseau → Groupes de sécurité. Prenez connaissance de la documentation Cloud à ce sujet.
Déployez maintenant l’instance qui hébergera Mailman
avec la commande :
openstack server create --flavor a1-ram2-disk20-perf1 --security-group mailman-sec --network ext-net1 --key-name <votre-clé> --image "Debian 11.5 bullseye" mailman3
Une fois connecté à la machine, mettez-la à jour :
sudo apt update && sudo apt upgrade -y
Installez le client openstack
:
sudo apt install python3-openstackclient -y
Installez Ansible
pour déployer Mailman
automatiquement :
sudo apt install ansible -y
Déploiement de Mailman
Pour déployer Mailman
, importez votre clé SSH et le fichier OpenRC
via SFTP sur la machine d’installation.
Utilisez des outils comme putty
, termius
ou mobaxterm
(ou tout client SSH/SFTP) avec les infos suivantes :
- IP : adresse IP de la machine créée
- Port :
22
- Clé SSH : fichier
.pem
- Utilisateur :
debian
Dans ce guide, Termius
a été utilisé pour le transfert SFTP.
Téléchargez les fichiers nécessaires :
wget https://github.com/reneluria/mailman-cloud
Déplacez ensuite les fichiers :
mv cle.pem mailman/
mv PCP-XXXX.sh mailman/
Accédez au dossier :
cd mailman/
Protégez la clé en lui attribuant les bons droits :
sudo chmod 600 tf-keypair.pem
Créez un fichier inventory
pour configurer SMTP, le domaine, etc. :
nano inventory
Renseignez ce modèle avec vos informations :
mailman ansible_host=xxx.xxx.xxx.xxx
[all:vars]
ansible_python_interpreter=/usr/bin/python3
ansible_user=debian
ansible_ssh_private_key_file=id_tf_keypair
fqdn=mailman.<yourdomain>
mail_host=mail.infomaniak.com
mail_account=mailman@<yourdomain>
mail_password=<email_password>
mailman_user=mailman
mailman_password=<interface_password>
mailman_domain=<yourdomain>
mailman_email=<your_email>
Enregistrez avec Ctrl + S
, puis quittez avec Ctrl + X
.
Lancez le déploiement :
ansible-playbook playbook.yml -D
Mailman
est maintenant accessible sur votre adresse IP : X.X.X.X/mailman3
Se connecter
Connectez-vous avec les identifiants définis dans le fichier inventory
pour :
- Créer un domaine puis une liste « maliste »
Dans les paramètres de la liste, il est conseillé :
- Atténuations DMARC : « Remplacer de par l'adresse de la liste »
- Modifier les messages : « Répondre à la liste » et « Répondre à la première bande »