사용자 중 한 명이 이메일로 작성한 게시물에서 여러 번 마지막 1~2줄이 누락되는 문제를 보고했습니다.
게시물은 문자 수 한도를 충분히 밑돌았으며, 차단된 단어도 없었습니다. 이 현상의 원인에 대해 어떤 아이디어가 있을까요? 로그에서도 관련 내용을 찾을 수 없습니다.
수신된 이메일의 원본 데이터를 확인해 보니, 누락된 텍스트는 이메일 수신 시점에 확실히 포함되어 있었지만, 포맷된 게시물에는 반영되지 않았습니다. 이 게시물은 새 주제의 시작이 아니라 답글입니다.
maiki
(maiki)
2
파서가 마지막 줄이 서명인지 판단하지 못했을 때 이런 일이 발생한다고 들었습니다. 해당 답변들에서 --- 같은 특이한 타이포그래피가 사용되었나요?
MikeNolan
(Mike Nolan)
3
내가 본 바로는 없지만, incoming_emails 테이블의 ‘raw’ 필드가 좀 이상합니다. 모든 단어가 공백이나 구두점 없이 붙어 있거든요.
간단한 발췌를 보여드릴게요:
nolongertalkingtothatneighborHellBienenWeberMark
'Hell’로 시작하는 모든 내용이 빠져 있습니다. 형식화된 텍스트에는 ‘neighbor’ 뒤에 마침표가 있지만, 그 이후에는 아무것도 없습니다.
무슨 일이 있었는지 파악은 했지만, 재발을 어떻게 방지할지는 아직 확실하지 않습니다.
메일박스(Discourse 컨테이너가 읽는 메일박스)에 저장하기 전에 수신된 이메일을 캡처하고 있으며, 해당 사용자의 원래 메시지를 보유하고 있습니다.
이 이메일에는 text/plain 세그먼트와 text/html 세그먼트가 포함되어 있습니다.
그의 메시지 중 마지막(그리고 누락된) 줄은 text/plain 세그먼트에는 있지만 text/html 세그먼트에는 없으며, Discourse는 게시글을 생성할 때 후자를 사용합니다.
따라서 줄이 누락되는 원인이 무엇이든, 해당 이메일이 제 서버에 도달하기 전에 그런 일이 일어나고 있는 것으로 보입니다.