Nuestra plataforma sirve a una amplia comunidad de diferentes grupos que no interactúan regularmente, pero que a veces necesitan compartir información. El problema es que si alguien reenvía un correo recibido de una categoría a otra categoría por correo electrónico, el mensaje termina en el tema original en lugar de en la categoría que se utilizó para el correo electrónico.
Detalles:
Ejecutando 2.9.0.beta1
Tenemos habilitados el correo entrante y la respuesta por correo electrónico en nuestra instancia
Cada categoría tiene un correo electrónico asignado de la forma discourse+CATEGORY@...
Pasos para reproducir:
Uno recibe una notificación por correo electrónico de una nueva publicación en la categoría A
Uno reenvía el correo electrónico recibido a la categoría B utilizando su correo electrónico discourse+CAT-B@...
El mensaje reenviado termina en el hilo original de la categoría A
Pregunta: ¿cómo asegurarse de que el correo electrónico reenviado termine en la categoría B correcta? (¡sin modificar ninguna cabecera de correo electrónico!)
¿Quieres decir que termina en el hilo original de la categoría A?
De nuevo, respondo sin saber nada y muy pronto alguien vendrá a decir cómo son realmente las cosas, pero que yo sepa, eso debería ser así y una respuesta no cambia a un nuevo tema solo por cambiar el correo electrónico.
Para aclarar: la persona no responde al correo electrónico a través de reply-to, sino que lo reenvía estableciendo manualmente la dirección to: al correo electrónico discourse+cat-B@.
No puedo reproducir esto. Estos son mis pasos hasta ahora:
Configurar CategoryA y CategoryB, y asignarles direcciones de correo electrónico (categorya@[MyTestSite] y categoryb@[MyTestSite])
Configurar test_user en Watching para ambas categorías
Configurar email time window mins en 1 min (opcional, pero acelera las cosas)
El administrador publica un tema en CategoryA
Test_user recibe un correo electrónico de notificación del nuevo tema en CategoryA, y lo reenvía con un mensaje a CategoryB
Se crea un nuevo tema en CategoryB (con un título muy feo - Fwd: [JammyDodger's Test Site] [categorya] Topic for Category A), pero solo incluye el mensaje añadido, y no la información reenviada prevista)
¿No puedo replicar el problema donde un correo electrónico reenviado a una categoría termina como una respuesta a un tema existente? ¿Hay algo más que pueda intentar?
¿Podría tener algo que ver con el cliente de correo electrónico? Yo “culpé” a Discourse por agrupar los mensajes por el campo “in-reply-to” en lugar del campo “to”…
Acabo de intentar reproducir esto también (una diferencia clave pareció ser presionar ‘Responder’ y luego cambiar manualmente la dirección Para, en lugar de Reenviar), pero el mío terminó como un nuevo tema en la Categoría B de nuevo. ¿Quizás esto lo hace específico del cliente? @artur ¿Cuál estás usando?
Lo acabo de intentar con mi Gmail, pero el correo todavía terminó en la categoría original.
Extraño, ¡me sorprende que te haya funcionado!
¿Podrías revisar las cabeceras del correo reenviado?
Veo, por ejemplo, que las References contienen el ID del tema original; ¿podría eso tener prioridad sobre el campo to:?
¡Gracias por el enlace!
Parece ser una situación similar, excepto que en mi caso se trata de reenviar un correo y no de responder. Por lo tanto, todavía no entiendo ese comportamiento.
Sigo escribiendo una respuesta y luego se me ocurre otra cosa que intentar. Pero hasta ahora no he tenido suerte replicando tu problema. Algunas cosas que quizás sean relevantes: tengo configurado el receptor de correo en mi sitio de prueba, en lugar de POP3, y ¿estás reenviando una primera publicación/OP o una respuesta?
Hola @JammyDodger, me acabo de dar cuenta de que la mayoría de mis categorías estaban configuradas históricamente como La categoría refleja una lista de correo. ¿Podrías intentar reproducir el problema al habilitar esta opción?
Acabo de intentar deshabilitarla en mi instancia de prueba y parece que resuelve el comportamiento extraño.
Ya he probado esto con La categoría refleja una lista de correo habilitada tanto para la Categoría A como para la Categoría B y ahora puedo replicar el problema.
Configura CategoryA y CategoryB, y asígnales direcciones de correo electrónico (categorya@[MyTestSite] y categoryb@[MyTestSite])
Configura La categoría refleja una lista de correo para cada categoría
Configura test_user en Viendo para ambas categorías
Configura email time window mins en 1 minuto (opcional, pero acelera las cosas)
El administrador publica un tema en CategoryA
Test_user recibe un correo electrónico de notificación del nuevo tema en CategoryA y lo reenvía con un mensaje a CategoryB
El reenvío aparece como una respuesta al tema original en Category A
No soy muy experto en listas de correo, ¿sería esto un error o un conflicto de configuración?
¿Y crees que esto podría ayudarte también con tu problema, @dachary?
Normalmente, find_related_post_with_key está habilitado en la configuración del sitio. No se recomienda deshabilitarlo para todo el sitio, ya que permite la suplantación de identidad de usuarios basada en la dirección de correo electrónico. Los correos entrantes que se enviaron a la lista de correo siempre utilizan el Message-ID del correo para encontrar publicaciones relacionadas y no tienen en cuenta el valor de esa configuración del sitio.
Mantuve la opción principalmente por otro punto:
Normalmente, Discourse espera que los correos entrantes contengan texto formateado como Markdown. Los usuarios de listas de correo generalmente desconocen este requisito, por lo que Discourse no interpreta ningún Markdown (excepto los bloques de código encerrados en tres comillas invertidas) ni HTML dentro de los correos de texto plano y los publica con el formato original intacto.
Lo que tiene sentido para las personas que no tienen ni idea de markdown
Creo que para un sitio espejo de lista de correo puro hace su trabajo correctamente.
Veré cómo los usuarios lidian con markdown, ¡ciertamente no son conscientes de que esto se espera!
Un problema que surgió cuando deshabilité el espejo de la lista de correo fue que, en el caso de mensajes generados automáticamente que se envían en nombre de algunos usuarios, aparece el error Discourse::InvalidAccess. Con el mensaje de rechazo que dice
Tu cuenta no tiene los privilegios para publicar nuevos temas en esa categoría.
Aunque eso ha funcionado antes para el mismo usuario. Así que supongo que la opción de espejo deshabilita algún tipo de protección para eso.