Una pregunta que me estuve haciendo durante algún tiempo después de instalarme el servidor de listas Mailman fue cómo demonios hacer un backup de la lista de suscriptores. Se pueden encontrar muchos scripts en la red que permiten llevar a cabo esta tarea con más o menos dificultad porque dependen de otras herramientas que podrían no estar instaladas en nuestra distribución linux, o simplemente porque nuestros conocimientos de linux y sus entresijos son limitados. Estos scripts están bien, no tengo nada contra ellos excepto lo dicho: ponerlos en marcha puede resultar complicado debido a las dependencias y a veces lo que buscamos es una solución más sencilla.
Así que hoy se me ocurrió una pregunta sencilla: ¿Qué comandos se pueden ejecutar sobre las listas vía email? (aparte de los comandos de suscripción y desuscripción). En http://www.gnu.org/software/mailman/mailman-member/node41.html encontré la respuesta, y al llegar al final del documento la esperanza inundó mi corazón:
who [PASSWORD]
See everyone who is on this mailing list.
¿Así de fácil?. Bueno, me faltaba saber a qué dirección debía mandar ese mail. Después de dar algnas vueltas por aquí y por allí (leer la documentación de mailman es una pesadilla) encontré la información que me faltaba. El email debía mandarse a la dirección
[nombre_de_la_lista]-request@[dominio_de_la_lista]
Ni corto ni perezoso mandé un mail a una de mis listas utilizando la dirección sugerida y puse en el cuerpo del mensaje «who» seguido de la contraseña de acceso a dicha lista.
La respuesta fue inmediata, aunque no recibí lo que esperaba sino el siguiente mensaje:
Los resultados del comando que ha enviado por correo electrónico más
abajo. También se ha incluido su mensaje original.
– Resultados:
Ignorando partes MIME que no son text/plain
– Proceso terminado.
Así que deduje que a mailman no le gustan los correos en formato html (la configuración por defecto de mi cliente de correo). Creé otro correo exactamente igual, pero esta vez formateado como texto plano, lo mandé y esperé unos segundos. Lo que me llegó a continuación fue exactamente lo que el manual prometía: un listado de todos los suscriptores a mi lista. Una estupenda noticia, ya podía hacer un backup de una manera rápida y sencilla sin complicarme la vida con scripts de servidor.
Nota final para usuarios exigentes: Sí, si tienes cientos de listas con miles de suscriptores en cada una de ellas y lo que quieres es un backup semanal o diario de todos esos datos, lo que necesitas es un script de servidor sin duda. Hay varios escritos en python. Este me parece bastante bueno respecto a otros que he probado: http://paulschreiber.com/blog/2006/08/30/mailman-mailing-list-backup-script/.