Miroir d'une liste de diffusion en lecture seule dans Discourse

:bookmark: Ce guide explique comment créer un miroir en lecture seule d’une liste de diffusion en utilisant Discourse. Il couvre les paramètres du site, la configuration de la catégorie et le processus d’abonnement nécessaires.

:person_raising_hand: Niveau d’utilisateur requis : Administrateur

Discourse peut fonctionner comme une archive pour une liste de diffusion tout en permettant aux utilisateurs enregistrés d’utiliser la plupart de ses fonctionnalités. Ce guide vous expliquera comment configurer votre propre miroir de liste de diffusion.

:eyes: Voyez ceci en action sur le miroir de la liste de diffusion Ruby-Talk.

Résumé

  • Configurer les paramètres du site pour la gestion des e-mails
  • Créer ou modifier une catégorie pour la liste de diffusion
  • S’abonner à la liste de diffusion
  • Comprendre comment fonctionne le processus de mise en miroir

Le guide suivant utilise deux adresses e-mail comme espaces réservés. Vous devez les remplacer par vos adresses réelles.

discourse@example.com est l’adresse pour les e-mails entrants sur votre Discourse
mailing-list@foo.test est l’adresse de soumission de la liste de diffusion[1]

Configuration des paramètres du site

  1. Si vous n’êtes pas sur un plan d’hébergement qui préconfigure la réception d’e-mails, configurez la récupération POP3 ou la récupération manuelle via API pour le compte associé à votre adresse e-mail Discourse (par exemple, discourse@example.com).

  2. Activez les paramètres de site suivants :

    • email_in : Autoriser les e-mails entrants
    • enable_staged_users : Activer les utilisateurs en attente (crucial pour le processus de mise en miroir)
  3. Paramètres optionnels :

    • Définissez authorized_extensions sur * ou ajoutez des extensions de fichier spécifiques pour autoriser les types de pièces jointes dont vous avez besoin
    • Activez always_show_trimmed_content pour permettre à tous les utilisateurs de voir le contenu tronqué (caché derrière un bouton image)
    • Activez display_name_on_posts et désactivez prioritize_username_in_ux pour les préférences d’affichage du nom

Création ou modification d’une catégorie

  1. Créez une nouvelle catégorie ou modifiez-en une existante pour les publications de la liste de diffusion.

  2. Configurez les permissions de la catégorie :

    • Cliquez sur l’onglet « Sécurité », puis sur « Modifier les permissions »
    • Supprimez toutes les permissions existantes
    • Ajoutez « tout le monde » avec la permission « Voir »

Lorsque vous avez terminé, cela devrait ressembler à ceci :

  1. Configurez les paramètres de la catégorie :

    • Cliquez sur l’onglet « Paramètres »
    • Activez « Accepter les e-mails des utilisateurs anonymes sans compte »
    • Définissez « Adresse e-mail entrante personnalisée » sur l’adresse e-mail de la liste de diffusion (par exemple, mailing-list@foo.test)
    • Activez « La catégorie met en miroir la liste de diffusion »
  2. Enregistrez les paramètres de la catégorie.

Abonnement à la liste de diffusion

  1. Abonnez-vous à la liste de diffusion en utilisant votre adresse e-mail Discourse (par exemple, discourse@example.com).

  2. Si la liste de diffusion dispose d’une interface web, assurez-vous des paramètres suivants :

    • La livraison du courrier est activée
    • Le mode digest est désactivé
    • Les e-mails de rappel de mot de passe sont désactivés

Pour Mailman 2, assurez-vous que :

  • « Livraison du courrier » est défini sur « Activé »
  • « Définir le mode digest » est défini sur « Désactivé »
  • « Recevoir un e-mail de rappel de mot de passe pour cette liste ? » est défini sur « Non »

Comment ça marche

L’activation de « La catégorie met en miroir la liste de diffusion » modifie la façon dont les e-mails entrants sont traités pour cette catégorie spécifique :

  • Les e-mails générés automatiquement sont autorisés, même si block_auto_generated_emails est activé
  • Tous les utilisateurs peuvent publier par e-mail, ignorant le paramètre email_in_allowed_groups
  • Les e-mails entrants utilisent l’en-tête Message-ID pour trouver les publications associées, quelle que soit l’option find_related_post_with_key
  • L’interprétation Markdown est limitée aux blocs de code enfermés entre trois accents graves
  • Les e-mails de rejet ne sont pas envoyés pour les publications de liste de diffusion

FAQ

Q : Puis-je mettre en miroir plusieurs listes de diffusion ?
R : Oui, créez une catégorie distincte pour chaque liste de diffusion et configurez-la comme décrit ci-dessus.

Q : Les utilisateurs peuvent-ils répondre aux notifications et publier sur la liste de diffusion ?
R : Non, les réponses aux notifications sont envoyées à Discourse, et non à la liste de diffusion d’origine. Les utilisateurs ne peuvent pas publier directement sur la liste de diffusion via Discourse.

Q : Comment puis-je empêcher les utilisateurs de publier sur la catégorie mise en miroir par e-mail ?
R : Bien que la catégorie autorise la publication par e-mail, vous pouvez conserver l’adresse e-mail entrante privée pour empêcher les publications non autorisées.


  1. c’est-à-dire que les gens envoient à cette adresse pour publier sur la liste, et elle apparaît également sur les lignes À:/CC: des e-mails envoyés par la liste aux membres ↩︎

31 « J'aime »

Cela signifie-t-il que « si un utilisateur connaît l’adresse e-mail entrante, il peut publier dans cette catégorie » ? Cela peut être évité en ne communiquant pas cette adresse à personne, n’est-ce pas ?

Mais, supposons que si quelqu’un reçoit une notification par e-mail, il puisse répondre. Cette réponse est-elle envoyée à Discourse sous forme de publication ou à la liste de diffusion ?

2 « J'aime »

Ce sont de bonnes questions.

Oui, je pense que c’est possible s’ils connaissent l’adresse e-mail entrante et usurpent l’adresse From pour qu’elle corresponde à l’adresse de la liste de diffusion.

Je voudrais dire non, mais je ne suis pas sûr à 100 % sur ce point. Donc, peut-être. Essayez et dites-moi. Il est possible que cela nécessite également d’usurper l’adresse de l’expéditeur.

Elle est définitivement envoyée à Discourse.

3 « J'aime »

J’ai un site qui reçoit un groupe Google transféré vers une catégorie avec accepter les e-mails des anonymes et reflète une liste de diffusion sont définis, mais il rejette toujours les e-mails avec Email::Receiver::UserNotFoundError

Y a-t-il autre chose qui pourrait déclencher cela ?

2 « J'aime »

Avez-vous activé les utilisateurs staged ?

4 « J'aime »

Non. Les utilisateurs mis en scène étaient désactivés. Je suppose donc qu’il doit être activé pour que cela fonctionne ? (Cela semble logique…) Il devrait donc peut-être y avoir une vérification à ce sujet lorsque vous essayez de l’activer ?

2 « J'aime »

Je ne suis pas sûr, mais c’est ma meilleure supposition.

EDIT : il n’y a qu’un seul endroit où cette erreur est levée et elle ressemble à ceci :

raise UserNotFoundError unless SiteSetting.enable_staged_users

4 « J'aime »

Je devrai l’essayer, mais je suppose que pas mal de gens essaieront de répondre. Il pourrait être agréable d’avoir une ou plusieurs de ces options :

  1. Ne pas envoyer d’e-mail même si quelqu’un surveille cette catégorie. Éventuellement, leur envoyer une notification (ou un message unique) indiquant que s’ils souhaitent recevoir des e-mails de cette liste, ils doivent {faire les démarches nécessaires pour s’inscrire directement à la liste}.

  2. Laisser l’administrateur du site définir l’adresse de réponse lorsque des e-mails sont envoyés depuis une catégorie miroir de liste de diffusion. (Par catégorie, bien sûr.) Ensuite, les utilisateurs pourraient s’abonner à cette liste sans livraison activée, recevoir des notifications de Discourse, et s’ils répondent, cette réponse irait réellement à la liste d’origine.

  3. Une option « rediriger les réponses vers la catégorie », où lorsqu’une personne répond, un sujet lié est créé dans une autre catégorie. Par exemple, la catégorie Announce List est un miroir de liste de diffusion, puis Discussion About The Announcements pour les réponses. Le titre nécessite un peu de travail. :slight_smile:

3 « J'aime »

Le guide le rend-il clair @gerhard ?

3 « J'aime »

Non, ce n’était pas le cas, mais c’est le cas maintenant.

5 « J'aime »

Merci ! Cela m’a précédemment confus, car j’avais supposé que la gestion spéciale ici gérait également d’une manière ou d’une autre les utilisateurs mis en scène (peut-être en les créant uniquement pour les publications dans cette catégorie ?).

4 « J'aime »

Est-il possible de rendre cela bidirectionnel en créant un compte sur Discourse qui est membre du Google Group ? Les publications sur les forums seraient alors envoyées au GG comme s’il s’agissait d’un autre utilisateur de la liste de diffusion (nous devrions rejeter tous les e-mails entrants de cet utilisateur pour éviter une boucle). Je pose cette question comme un moyen de faire fonctionner Discourse et GG en parallèle pendant que les utilisateurs effectuent la transition.

Je reflète avec succès une liste de diffusion Google Group, mais elle ne reconnaît pas les réponses aux sujets. Je me retrouve avec des publications de Google Topic 1 et ensuite séparément Re: Google Topic 1. Existe-t-il un moyen de faire reconnaître les fils de discussion ?