Today I start working on a python script to migrate a mailman2 mailing list (archives and config.pck) using the discourse API only. If anyone is interested, it is happening here and I’ll update this topic with progress.
Any comment on whatever people need or comments about how to better do that are very welcome, of course
digest_members : discarded. It is not possible to request a digest mode on a per-category basis.
Maybe “Watching first post” would be a rough equivalent, depending how often there are new threads/topics and how often in practice a digest was sent on the list.
A first version of the script was published at mailman2discourse · PyPI. It works for me, hopefully it will also help others. If not let me know and I’ll try to adapt the script.
Comment gère-t-il les listes où from_is_list est défini sur « Munge From » ou « Wrap Message » (ou lorsque les paramètres équivalents uniquement DMARC sont utilisés) ? Peut-il déterminer quel utilisateur a envoyé ces messages ?
Merci. Si cela aide, l’adresse e-mail de l’expéditeur d’origine apparaît souvent (toujours ?) dans l’en-tête « Cc: » du message, du moins lorsque from_is_list est Munge From.
Cela s’applique à tous les messages non résumés envoyés par la liste. Pour les paramètres qui s’appliquent uniquement aux messages dont le domaine de l’en-tête From: publie une politique DMARC p=reject ou p=quarantine, consultez la description de dmarc_moderation_action dans la section Filtres d’expéditeur.
Si défini sur Munge From, cela remplace l’adresse de l’en-tête From: par l’adresse de publication de la liste afin de réduire les problèmes découlant des politiques DMARC ou similaires du domaine d’origine de l’en-tête From:, et place l’adresse From: originale dans un en-tête Reply-To:.
Si défini sur Wrap Message, cela encapsule le message original en tant que sous-partie MIME d’un message externe avec les en-têtes From: et Reply-To: comme indiqué ci-dessus.
Je ne pense pas que Discourse propose une fonctionnalité similaire. Je n’ai vu aucun paramètre du site qui corresponde. J’ai parcouru plusieurs fois tous les paramètres liés aux e-mails ces derniers jours, dans le contexte d’une migration en cours depuis Mailman 2.
Peut-être que votre question est liée à l’importation des e-mails depuis les archives plutôt qu’à la mise en œuvre de la fonctionnalité dans Discourse ?
Discourse fonctionne essentiellement de la même manière que Mailman 2 avec l’option from_is_list = Munge From : avec ces paramètres, chaque email d’une liste Mailman a pour expéditeur « From: listname@example.com » (plutôt que « From: joebloggs@email.com ») ; de même, chaque notification par email provenant de Discourse provient de la même adresse de forum (noreply@forum.example.com ou autre).
Mais je ne demandais pas vraiment de reproduire cette fonctionnalité dans Discourse. [Edit - comme vous l’avez remarqué - je viens de voir votre deuxième réponse !]
Je voulais savoir : lorsque ce paramètre Mailman est activé, votre script importerait-il ces messages comme provenant d’un seul utilisateur Discourse (dont l’adresse email serait listname@example.com), ou serait-il en mesure d’identifier l’expéditeur original ?
Merci pour l’explication. Le script mailman2discourse n’intervient pas ici, car il n’importe pas les messages. L’importation des messages est effectuée via l’importateur mbox de Discourse.
Je pense que cela définirait l’auteur de tous les courriels à listname@example.com. Je ne vois rien dans discourse/script/import_scripts/mbox/importer.rb qui suggérerait le contraire. Ce serait une fonctionnalité à ajouter, peut-être en la contrôlant via un champ use_reply_to_instead_of_from dans le fichier settings.yml ?
Malheureusement, j’ai aussi configuré reply_goes_to_list sur « Cette liste » (ce qui modifie l’en-tête « Reply-To: »), nous devrons donc trouver une autre solution. Ou peut-être pas… Je vais poser une question dans l’autre sujet. Merci pour votre aide.