Mise en place d'une boîte de réception de support

Salut à tous, je viens de tomber sur cet article de blog How Does Team Discourse Use Discourse?, et ceci m’a interpellé :

N’importe qui peut envoyer un e-mail à team@discourse.org et nous gérons ces interactions dans une boîte aux lettres Discourse centrale, sous forme de messages privés de groupe.

Comment avez-vous configuré cela ? J’aimerais beaucoup faire cela pour steering@somervilleyimby.org (nous utilisons actuellement un Google Group et c’est assez maladroit). J’utilise Google Apps pour les e-mails reçus et envoyés depuis somervilleyimby.org, et Mailgun pour gérer les e-mails Discourse (par exemple, jeff@somervilleyimby.org ; ceux-ci sont envoyés/reçus via discourse.somervilleyimby.org), donc je ne suis pas tout à fait sûr de la façon dont je pourrais configurer cela.

Des suggestions ou peut-être un GUIDE ? J’ai repéré Configuring incoming email to create new topics or group messages, mais cela ne me mène qu’à mi-chemin.

1 « J'aime »

Salut. As-tu vu Discourse as a private email support portal

5 « J'aime »

Ah, bien, bien ! C’est une bonne lecture, mais cela ne clarifie pas l’élément critique qui me manque :

Comment faire en sorte que steering@somervilleyimby.org aboutisse à un Groupe dans notre Discourse ?

Actuellement, le domaine somervilleyimby.org est mappé à l’e-mail Google Apps, et nous avons ces deux adresses :

L’e-mail entrant et sortant de notre Discourse utilise discourse.somervilleyimby.org via Mailgun, et est bien configuré.

Mais comment mapper une adresse e-mail du domaine principal pour qu’elle soit reçue par un Groupe à l’intérieur de Discourse ?

Je réalise que c’est peut-être hors du champ de Discourse lui-même, mais je me suis dit que quelqu’un pourrait avoir une idée, et je soupçonne qu’il existe des adresses individuelles person@discourse.org tout en ayant une adresse partagée team@discourse.org qui atterrit dans l’instance de Team Discourse.

Un e-mail redirigé vers someaddress@discourse.somervilleyimby.org fonctionnerait-il ?

J’y ai pensé aussi, j’essaie encore de comprendre comment je câblerais ça :thinking:

Salut Jeff :slightly_smiling_face:

Je ne suis pas sûr à 100 % de te suivre, mais j’utilise le mail-receiver sur mon site auto-hébergé pour gérer les e-mails entrants, j’autorise les e-mails dans les paramètres d’administration, puis je définis une adresse e-mail dans les paramètres du groupe/de la catégorie pour l’endroit où je veux que quelque chose aboutisse.

Est-ce que cela te semble utile ?

3 « J'aime »

Le problème avec le récepteur de courrier, cependant, est qu’il gère un seul domaine.

Jeff utilise actuellement un sous-domaine pour l’instance tout en souhaitant qu’une boîte aux lettres au domaine racine soit également gérée.

1 « J'aime »

Il devrait donc configurer le récepteur de courrier sur un sous-domaine différent, puis transférer le courrier de celui d’origine vers celui de Discourse. (cela devrait être divisé en son propre sujet)

2 « J'aime »

Merci à tous, et j’apprécie que vous ayez isolé cela dans son propre sujet.

@JammyDodger, cela semble certainement être la solution, et @pfaffman semble avoir tout à fait raison sur la façon dont je pourrais gérer ma configuration de domaine + sous-domaine.

Si quelqu’un est curieux, le sous-domaine est ce que Mailgun suggère comme meilleure pratique si vous avez déjà votre e-mail sur votre domaine géré par une autre entité (Google Apps, dans notre cas).

En bref : L’e-mail reste très difficile.

2 « J'aime »

J’ai donc découvert que je pouvais utiliser les règles de routage Gmail pour rediriger les e-mails vers steering@discourse.somervilleyimby.org, et Mailgun les envoie ensuite à l’endpoint de mon plugin Mailgun, /mailgun/incoming, mais ils renvoient des erreurs 422 Unprocessable Entity :thinking:

Je suppose que je vais devoir plonger un peu dans le code du plugin…

Si vous n’utilisez pas Mailgun pour recevoir des e-mails pour le sous-domaine de votre forum, je supprimerais les enregistrements MX de Mailgun et utiliserais la configuration Configurer la réception directe des e-mails pour les sites auto-hébergés.

J’utilise donc Mailgun pour cela, ce qui complique clairement les choses. Mais je ne veux pas non plus gérer mon propre e-mail car je suis le seul à gérer l’administration.

Néanmoins, vous m’avez orienté dans la bonne direction !

/me soupire

Bien sûr, tout cela serait probablement moins compliqué si la mise à niveau vers Discourse 3.x n’avait pas complètement cassé la réception des e-mails via le plugin Mailgun :déçu :

Une erreur que je vois

D’après les logs :

# env tab
hostname	discourse-app
process_id	9406
application_version	3030a538192252c9d29e4fb763d31810327f370a
HTTP_HOST	discourse.somervilleyimby.org
REQUEST_URI	/mailgun/incoming
REQUEST_METHOD	POST
HTTP_USER_AGENT	Go-http-client/2.0
HTTP_ACCEPT	*/*
HTTP_X_FORWARDED_FOR	<redacted>
HTTP_X_REAL_IP	<redacted>
time	2:59 pm
# info
Message (27 copies reported)

ActionController::InvalidAuthenticityToken (Can't verify CSRF token authenticity.)
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'

Backtrace

actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:251:in `handle_unverified_request'
actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:284:in `handle_unverified_request'
actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:273:in `verify_authenticity_token'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
actionpack (7.0.3.1) lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:200:in `block in halting'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `block in invoke_before'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `each'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `invoke_before'

Env

HTTP HOSTS: discourse.somervilleyimby.org
# backtrace
Message (26 copies reported)

ActionController::InvalidAuthenticityToken (Can't verify CSRF token authenticity.)
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:366:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'

Backtrace

actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:251:in `handle_unverified_request'
actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:284:in `handle_unverified_request'
actionpack (7.0.3.1) lib/action_controller/metal/request_forgery_protection.rb:273:in `verify_authenticity_token'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
actionpack (7.0.3.1) lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:200:in `block in halting'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `block in invoke_before'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `each'
activesupport (7.0.3.1) lib/active_support/callbacks.rb:595:in `invoke_before'

Env

HTTP HOSTS: discourse.somervilleyimby.org

Je vais voir s’il y a d’autres rapports similaires, mais si l’un d’entre vous a des idées, je suis preneur !

Je l’ai eu ! Ok, super, alors d’abord, la mise à niveau vers Discourse v3.x + mon plugin Mailgun obsolète a gêné.

Quoi qu’il en soit, le COMMENT :

  1. Configurez une Route de réception Mailgun pour l’adresse ou le modèle RegEx pour la réception des e-mails entrants
  2. Visitez Google Admin
  3. Dans la navigation de gauche, développez « Apps », puis « Google Workspace », et cliquez sur « Gmail » (ce lien pourrait fonctionner ?)
  4. Cliquez sur Routage par défaut
  5. Créez une route qui mappe l’adresse ou le modèle sur votre domaine principal à votre sous-domaine propulsé par Mailgun :
4 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.