1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Crear listas de discusión con Public Cloud
Esta guía explica cómo crear manualmente un sistema de listas de discusión con su Servicio de Correo, gracias a Mailman
y al Public Cloud de Infomaniak!
⚠️ Esta guía está dirigida exclusivamente a un público con un alto nivel de competencia técnica. No se asume ninguna responsabilidad en caso de daño o pérdida — asegúrese de hacer una copia de seguridad de sus datos antes de cualquier manipulación. Para obtener ayuda, contacte a un socio o lance una oferta gratuita. También descubra el rol del proveedor de alojamiento.
Prólogo
Mailman
es una aplicación libre que permite gestionar listas de distribución, de discusión y boletines informativos.- Los archivos proporcionados permiten implementar
Mailman
fácilmente. - El servidor y su firewall se implementan con
Terraform
, una herramienta deInfrastructure as Code (IaaC)
, y su configuración se realiza conAnsible
. - Este sistema le permite crear listas de discusión para sus diferentes contactos (direction@, ecommerce@…).
Preparación…
… de su entorno
- Disponer de un Service Mail Infomaniak es indispensable para seguir este tutorial.
- Descargue los archivos necesarios para el despliegue de
Mailman
en el Public Cloud a través de este repositorio de GitHub.
… del Entorno de Correo
- Cree una dirección
mailman@domain.xyz
(ayuda) y guarde la contraseña (utilizada para configurar el servidor). - Añada los siguientes alias (ayuda) :
- postorius
- mylist
- mylist-bounces
- mylist-confirm
- mylist-join
- mylist-leave
- mylist-owner
- mylist-request
- mylist-subscribe
- mylist-unsubscribe
La preparación de su entorno de mensajería está completa, ¡es hora de desplegar Mailman!
… del Public Cloud
- Cree un proyecto Public Cloud y un usuario (ayuda).
- Atención: la contraseña del Public Cloud debe ser segura. Se recomienda encarecidamente la autenticación 2FA en su cuenta Infomaniak.
- Haga clic aquí para acceder al panel de OpenStack y utilice el identificador
PCU-XXXXXX
con la contraseña definida. - Descargue su archivo
openrc
. Le permite autenticarse como administrador en línea de comandos (contiene información como el identificador, la contraseña y el datacenter).
Está listo para conectarse a la administración de OpenStack.
… de la instancia
Para hacer que su futura instancia sea accesible a través de SSH, HTTP y HTTPS, cree un grupo de seguridad
con el siguiente comando:
openstack security group create --description "Ports 22 - 80 - 443 pour Mailman" mailman-sec
A continuación, agregue las reglas necesarias:
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
Estos pasos también se pueden realizar desde el dashboard Horizon, en la pestaña Red → Grupos de seguridad. Consulte la documentación Cloud sobre este tema.
Despliegue ahora la instancia que alojará Mailman
con el siguiente comando:
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
Una vez conectado a la máquina, actualícela:
sudo apt update && sudo apt upgrade -y
Instale el cliente openstack
:
sudo apt install python3-openstackclient -y
Instale Ansible
para desplegar Mailman
automáticamente:
sudo apt install ansible -y
Despliegue de Mailman
Para desplegar Mailman
, importe su clave SSH y el archivo OpenRC
a través de SFTP en la máquina de instalación.
Utilice herramientas como putty
, termius
o mobaxterm
(o cualquier cliente SSH/SFTP) con la siguiente información:
- IP: dirección IP de la máquina creada
- Puerto:
22
- Clave SSH: archivo
.pem
- Usuario:
debian
En esta guía, Termius
se ha utilizado para la transferencia SFTP.
Descargue los archivos necesarios:
wget https://github.com/reneluria/mailman-cloud
Mueva luego los archivos:
mv cle.pem mailman/
mv PCP-XXXX.sh mailman/
Accede a la carpeta :
cd mailman/
Protégela clave asignándole los permisos correctos:
sudo chmod 600 tf-keypair.pem
Crea un archivo inventory
para configurar SMTP, el dominio, etc. :
nano inventory
Complete este modelo con su información:
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>
Guarde con Ctrl + S
, luego salga con Ctrl + X
.
Inicia el despliegue :
ansible-playbook playbook.yml -D
Mailman
ahora está accesible en su dirección IP: X.X.X.X/mailman3
Conectar
Inicia sesión con las credenciales definidas en el archivo inventory
para :
- Crear un dominio y luego una lista « maliste »
En la configuración de la lista, se recomienda:
- Atenuaciones DMARC : « Reemplazar por la dirección de la lista »
- Modificar los mensajes : « Responder a la lista » y « Responder a la primera banda »