Configuración de una bandeja de entrada de soporte

Hola a todos, acabo de encontrar esta publicación de blog How Does Team Discourse Use Discourse?, y esto me llamó la atención:

Cualquiera puede enviar un correo electrónico a team@discourse.org y nosotros manejamos esas interacciones en un buzón central de Discourse, como mensajes privados de grupo.

¿Cómo configuraron eso? Me encantaría hacer esto para steering@somervilleyimby.org (actualmente usamos un Google Group y es bastante incómodo). Uso Google Apps para los correos electrónicos recibidos y enviados desde somervilleyimby.org, y Mailgun para manejar los correos electrónicos de Discourse (por ejemplo, jeff@somervilleyimby.org; estos se envían/reciben a través de discourse.somervilleyimby.org), así que no tengo claro cómo podría configurar esto.

¿Alguna sugerencia o quizás una guía? Vi Configuring incoming email to create new topics or group messages, pero eso solo me lleva hasta la mitad.

1 me gusta

Hola. ¿Viste Discourse as a private email support portal

5 Me gusta

¡Ah, genial, genial! Es una buena lectura, pero no aclara el elemento crítico que me falta:

¿Cómo hago que steering@somervilleyimby.org termine en un Grupo en nuestro Discourse?

En este momento, el dominio somervilleyimby.org está mapeado al correo electrónico de Google Apps, y tenemos estas dos direcciones:

El correo electrónico entrante y saliente de nuestro Discourse utiliza discourse.somervilleyimby.org a través de Mailgun, y está bien configurado.

Pero, ¿cómo mapearía una dirección de correo electrónico del dominio principal para que sea recibida por un Grupo dentro de Discourse?

Me doy cuenta de que esto quizás esté fuera del alcance de Discourse en sí, pero pensé que alguien podría tener una idea, y sospecho que hay direcciones individuales person@discourse.org y también una dirección compartida team@discourse.org que llega a la instancia de Team Discourse.

¿Funcionaría un redireccionamiento de correo electrónico a someaddress@discourse.somervilleyimby.org?

Lo pensé, todavía estoy tratando de armar exactamente cómo lo conectaría :thinking:

Hola Jeff :slightly_smiling_face:

No estoy 100% seguro de si te sigo bien, pero uso el receptor de correo en mi sitio autoalojado para gestionar los correos entrantes, y permito la entrada de correo en la configuración de administrador, luego configuro una dirección de correo electrónico en la configuración del grupo/categoría para donde quiero que termine algo.

¿Algo de eso te parece útil?

3 Me gusta

El problema con el receptor de correo es que maneja un solo dominio.

Jeff actualmente usa un subdominio para la instancia, mientras que desea que también se maneje un buzón en el dominio raíz.

1 me gusta

Así que necesitaría configurar el receptor de correo en un subdominio diferente y luego reenviar el correo del real al de Discourse. (esto debería dividirse en su propio tema)

2 Me gusta

Gracias a todos, y aprecio que esto se haya desglosado en su propio tema.

@JammyDodger, eso definitivamente suena como que haría el truco, y @pfaffman suena como que está en lo correcto sobre cómo podría manejar la configuración de mi dominio + subdominio.

Si a alguien le interesa, el subdominio es lo que Mailgun sugiere como mejor práctica si ya tienes el correo electrónico en tu dominio manejado por otra entidad (Google Apps, en nuestro caso).

tl;dr El correo electrónico sigue siendo muy difícil.

2 Me gusta

Así que descubrí que puedo usar las reglas de enrutamiento de Gmail para redirigir el correo electrónico a steering@discourse.somervilleyimby.org, y Mailgun luego lo envía a mi endpoint del plugin de Mailgun, /mailgun/incoming, pero arrojan errores 422 Unprocessable Entity :thinking:

Supongo que tendré que meterme un poco en el código del plugin…

Si no estás usando Mailgun para recibir correos para el subdominio de tu foro, te recomiendo eliminar los MX de Mailgun y usar Configurar la entrega directa de correo entrante para sitios autoalojados.

Así que estoy usando Mailgun para eso, lo que claramente lo complica. Pero tampoco quiero encargarme de mi propio correo electrónico porque solo soy yo quien se encarga de la administración.

No obstante, ¡me habéis señalado la dirección correcta!

/me suspira

Por supuesto, todo esto probablemente sería menos complicado si la actualización a Discourse 3.x no pareciera romper por completo la recepción de correos electrónicos a través del plugin Mailgun :disappointed:

Un error que estoy viendo

Desde los registros:

# pestaña env
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 (se informaron 27 copias)

ActionController::InvalidAuthenticityToken (No se puede verificar la autenticidad del token CSRF.)
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 (se informaron 26 copias)

ActionController::InvalidAuthenticityToken (No se puede verificar la autenticidad del token CSRF.)
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

Voy a ver si hay otros informes similares, ¡pero si alguno de ustedes tiene alguna idea, la acepto!

¡Lo tengo! Ok, genial, así que primero, la actualización a Discourse v3.x + mi plugin obsoleto de Mailgun se interpusieron en el camino.

De todos modos, el CÓMO:

  1. Configura una Ruta de Recepción de Mailgun para la dirección o el patrón de Expresión Regular para recibir correos electrónicos entrantes.
  2. Visita Google Admin.
  3. En la navegación de la izquierda, expande “Apps”, luego “Google Workspace” y haz clic en “Gmail” (¿este enlace podría funcionar?).
  4. Haz clic en Enrutamiento predeterminado.
  5. Crea una ruta que mapee la dirección o el patrón en tu dominio principal a tu subdominio impulsado por Mailgun:
4 Me gusta

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