Al enviar una respuesta demasiado corta, como “prueba de respuesta por correo electrónico”, recibo un correo de vuelta:
Lo sentimos, pero tu mensaje de correo electrónico a [“discoursereplies+redacted.org”] (titulado Re: título del tema del foro) no funcionó.
¿Utilizas más de una dirección de correo electrónico? ¿Respondiste desde una dirección diferente? Las respuestas por correo electrónico requieren que uses la misma dirección al responder. Alternativamente, es posible que el encabezado Message-ID del correo haya sido modificado.
Sin embargo, las respuestas más largas, con múltiples líneas y varias oraciones, sí se envían correctamente.
Por lo tanto, el mensaje de error es incorrecto.
¿Podrían proporcionar un mensaje de error más claro en este caso?
¿Se puede configurar la longitud mínima del mensaje? ¿Existe una configuración diferente para las respuestas en los foros en comparación con las respuestas por correo electrónico?
Probé con https://try.discourse.org, que tiene la configuración del sitio min post length establecida en el valor predeterminado de 20.
Creé un nuevo tema con el Usuario A y luego respondí a él con el Usuario B. El Usuario A recibió un correo electrónico y envié una respuesta de una palabra “Test” por correo electrónico:
@adrelanos, ¿puedes proporcionar algún paso adicional para la reproducción? ¿Es posible que el mensaje que recibiste fuera válido de alguna manera? ¿También puedes confirmar que estás usando la última versión de Discourse?
No puedo asegurar que vaya a marcar la diferencia, pero siempre existe la posibilidad de que hubiera un error en la versión estable que se corrigió y no se trasladó a las versiones anteriores. Si es posible, te sugiero actualizar, al menos, a la última versión beta e intentarlo de nuevo.
Aparte de eso, surgen estas preguntas:
Dado que no he podido reproducir el problema al ejecutar un escenario normal, necesito un poco más de información para continuar.
Supongo que estás en la versión 2.7. Esperaré a que 2.7 se migre a la rama estable y luego informaré.
¿Puedes proporcionar pasos adicionales para reproducir el problema?
min post length está configurado en 2.
delete rejected email after days sigue siendo el valor predeterminado 90.
Responder “OK” a un mensaje propio ahora funciona correctamente.
Al responder “OK” a un mensaje de otro usuario, ahora recibo:
Lo sentimos, pero tu mensaje de correo electrónico a [“discoursereplies+redacted@redacted.redacted”] (titulado Re: [redacted] [redacted] redacted) no funcionó.
Solo aceptamos respuestas a notificaciones originales durante 90 días. Por favor visita el tema para continuar la conversación.
Pero el mensaje tenía solo unos 5 minutos de antigüedad.
Al responder por correo electrónico a una publicación de otro usuario con el texto “This is a longer test reply by e-mail. Please ignore.”, no ocurre nada, tampoco aparece nada en el registro. Tampoco recibí un correo de rechazo.
¿Es posible que el mensaje que recibiste fuera válido de alguna manera?
¿Esto implica que hay algo mal con el reloj de tu servidor o con la instalación?
No lo creo. Acabo de verificarlo. La hora del ordenador local y la del servidor tenían la misma fecha, hora y minuto en UTC. Casi incluso el mismo segundo (es difícil medirlo por SSH).
¿Es esta una instalación estándar por defecto?
Sí. Método de instalación con Docker. No querría desviarme de la recomendación.
El problema en la publicación original es que enviaste una respuesta demasiado corta y recibiste la respuesta de error «dirección de destino incorrecta» en lugar de la respuesta «publicación demasiado corta». Lo siguiente no podría haber sido cierto:
¿Usas más de una dirección de correo electrónico? ¿Respondiste desde una dirección de correo electrónico diferente? Las respuestas por correo electrónico requieren que uses la misma dirección de correo electrónico al responder. Alternativamente, la cabecera Message-ID del correo electrónico pudo haber sido modificada.
En otro ejemplo, enviaste una respuesta a un usuario que era demasiado corta y recibiste la respuesta de error «destino antiguo»: «Solo aceptamos respuestas a notificaciones originales durante 90 días. Por favor visita el tema para continuar la conversación». Esto tampoco podría haber sido cierto, ya que la publicación a la que respondías tenía solo 5 minutos de antigüedad.
En ambos casos en los que tu respuesta fue demasiado corta, se envió el mensaje de error incorrecto. ¿Suena esto preciso?
¡Suena bien! Tendré mucha curiosidad por ver si una actualización aclara las cosas. Avísanos si no es así.
¿Utiliza más de una dirección de correo electrónico? ¿Respondió desde una dirección de correo electrónico diferente? Las respuestas por correo electrónico requieren que utilice la misma dirección de correo electrónico al responder. Alternativamente, es posible que se haya modificado la cabecera Message-ID del correo.
Parece ocurrir si se hicieron otras respuestas después de la publicación a la que estoy respondiendo.
Dado que esto parece difícil de depurar (error del usuario, responder a From en lugar de Reply-To —no, no hice eso en este caso—, el servidor de correo causando problemas y/o un error de Discourse), he propuesto la siguiente solicitud de función para facilitar la depuración: Reply with debug info to rejected e-mails
Esto significa que estás activando una de las otras protecciones contra publicaciones cortas, como body min entropy, que está diseñada para bloquear publicaciones como AAAAAAAAAAAAAAAAAAAAAAAAAAAA y no tiene un mensaje de error personalizado.
No siempre es reproducible. Ahora usaré mucho la respuesta por correo electrónico y espero poder seguir adelante con instrucciones reproducibles.
Podría ser que se requieran varias respuestas para que se rechace el correo. O depende del tiempo. Es más probable que se rechacen mensajes más antiguos, aunque disallow reply by email after days ya está configurado en 0.