通过电子邮件提交的帖子的最后一行丢失

一位用户报告说,他在通过电子邮件发送的几条帖子中,最后一行或两行丢失了。

帖子远低于字符限制,也没有被审查的词语,您认为可能是什么原因造成的?我在日志中没有看到任何相关信息。

查看 incoming_emails 表中的原始数据,丢失的文本确实存在于收到的电子邮件中,只是没有被格式化到帖子中。这是一条回复,而不是一个新帖子的开头。

当解析器无法确定最后几行是否为签名时,我曾遇到过这种情况。这些回复是否有任何奇怪的排版,例如 ---

1 个赞

我没看到,但 incoming_emails 表中的“raw”字段有点奇怪,所有单词都挤在一起,没有空格或标点符号。

以下是简短的摘录:

nolongertalkingtothatneighborHellBienenWeberMark

缺少的是从“Hell”一词开始的所有内容。格式化文本在“neighbor”之后有一个句点,但之后就没有了。

我想我已经弄清楚发生了什么,但不一定知道如何防止它再次发生。

我会在将邮件保存到 Discourse 容器读取的邮箱之前捕获传入的邮件,并且有该用户发来的原始邮件。

该邮件有一个 text/plain 部分和一个 text/html 部分。

他邮件中最后(也是丢失的)一行在 text/plain 部分,但不在 text/html 部分,而 Discourse 使用后者来创建帖子。

所以,无论是什么原因导致行被删除,看起来它发生在邮件到达我的服务器之前。

5 个赞

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