Uno de mis usuarios ha informado que en varios casos faltan las últimas una o dos líneas de sus publicaciones, realizadas por correo electrónico.
Las publicaciones estaban muy por debajo del límite de caracteres y no hay palabras censuradas, ¿alguna idea de qué podría estar causando esto? No veo nada en los registros al respecto.
Al observar los datos sin procesar en la tabla incoming_emails, el texto que falta definitivamente estaba en el correo electrónico tal como se recibió, simplemente no llegó a la publicación formateada. Esta es una respuesta, no el inicio de un nuevo tema.
He visto que esto sucede cuando el analizador no podía decidir si las últimas líneas eran una firma. ¿Esas respuestas tenían alguna tipografía extraña como esa? ---?
Ninguno que haya visto, pero el campo ‘raw’ en la tabla incoming_emails es un poco extraño, todas las palabras están amontonadas sin espacios ni puntuación.
Aquí hay un breve extracto:
nolongertalkingtothatneighborHellBienenWeberMark
Lo que falta es todo lo que empieza con la palabra ‘Hell’. El texto formateado tiene el punto después de ‘neighbor’ pero nada después de eso.
Creo que he descubierto lo que sucedió, pero no necesariamente cómo evitar que vuelva a suceder.
Capturo el correo electrónico entrante antes de guardarlo en el buzón que lee el contenedor de Discourse, y tengo el mensaje original en cuestión de este usuario.
El correo electrónico tiene un segmento text/plain y un segmento text/html.
La línea final (y faltante) de su mensaje está en el segmento text/plain pero no en el segmento text/html, y es este último el que Discourse utiliza para crear una publicación.
Entonces, sea lo que sea que esté sucediendo para que se pierdan líneas, parece que está sucediendo antes de que esos correos electrónicos lleguen a mi servidor.