Hoy comienzo a trabajar en un script de Python para migrar una lista de correo de Mailman2 (archivos y config.pck) utilizando únicamente la API de Discourse. Si alguien está interesado, el proceso se está llevando a cabo aquí y actualizaré este tema con los avances.
Por supuesto, cualquier comentario sobre lo que la gente necesite o sugerencias sobre cómo mejorar el proceso son bienvenidos
digest_members: descartado. No es posible solicitar un modo de resumen por categoría.
Tal vez “Observar el primer mensaje” sería un equivalente aproximado, dependiendo de la frecuencia con la que se creen nuevos hilos o temas y de la frecuencia con la que, en la práctica, se enviara un resumen en la lista.
Una primera versión del script fue publicada en Client Challenge. Funciona para mí; espero que también sea de ayuda para otros. Si no es así, házmelo saber y trataré de adaptar el script.
¿Cómo gestiona las listas donde from_is_list está configurado en Munge From o Wrap Message (o se utilizan las configuraciones equivalentes solo para DMARC)? ¿Puede determinar qué usuario envió esos mensajes?
Gracias. Si ayuda, la dirección de correo electrónico del remitente original aparece a menudo (¿siempre?) en la cabecera “Cc:” del correo, al menos cuando from_is_list es Munge From.
Esto se aplica a todos los mensajes no digestivos enviados por la lista. Para configuraciones que solo afectan a mensajes cuyo dominio en el campo From: publica una política DMARC p=reject o p=quarantine, consulte la descripción de dmarc_moderation_action en la sección Filtros de remitente.
Si se establece en “Munge From”, reemplaza la dirección del encabezado From: con la dirección de publicación de la lista para mitigar problemas derivados de las políticas DMARC o similares del dominio original en From: y coloca la dirección original de From: en un encabezado Reply-To:.
Si se establece en “Wrap Message”, envuelve el mensaje original como una subparte MIME de un mensaje externo con encabezados From: y Reply-To: como se indica anteriormente.
No creo que Discourse proporcione una función similar. No he visto ninguna configuración del sitio que coincida. Además, he revisado varias veces todas las configuraciones relacionadas con el correo electrónico en los últimos días, en el contexto de una migración en curso desde Mailman 2.
Discourse funciona esencialmente de la misma manera que Mailman 2 con la configuración from_is_list = Munge From; con esos ajustes, cada correo de una lista de Mailman aparece como “De: listname@example.com” (en lugar de “De: joebloggs@email.com”), y de manera similar, cada notificación por correo de Discourse proviene de la misma dirección de correo del foro (noreply@forum.example.com o la que corresponda).
Pero en realidad no estaba preguntando sobre replicar esta función en Discourse. [Edición: como ya habrás notado, ¡acabo de ver tu segunda respuesta!]
Mi pregunta era: cuando esta configuración de Mailman está activada, ¿tu script importaría estos mensajes como si fueran de un único usuario de Discourse (cuyo correo sería listname@example.com), o podría, por el contrario, identificar al remitente original?
Gracias por la explicación. El script mailman2discourse no juega ningún papel en esto, ya que no importa los mensajes. La importación de los mensajes se realiza a través del importador de mbox de Discourse.
Creo que establecería al autor de todos los correos como listname@example.com. No veo nada en discourse/script/import_scripts/mbox/importer.rb que sugiera lo contrario. Sería una función por añadir y quizás controlar mediante un campo use_reply_to_instead_of_from en el archivo settings.yml.
Desafortunadamente, también tengo reply_goes_to_list configurado como “Esta lista” (lo que cambia la cabecera “Reply-To:”), así que tendríamos que pensar en otra solución. O quizás no… Publicaré una pregunta en el otro tema. Gracias por tu ayuda.