Outlook에서 이메일로 답글을 보낼 때 번호가 매겨진 목록 이후의 내용이 모두 사라집니다

자체 호스팅, 2026.1.5 (커밋 2727e4d). 우리는 메일링 리스트 모드로 커뮤니티를 운영하고 있으며, 이메일을 통해 답변을 받고 있습니다.

한 멤버가 Outlook에서 꽤 긴 게시물을 작성해 답변했는데, 사이트에 표시된 사본(그리고 리스트로 다시 나간 사본)이 중간에서 잘렸습니다. 첫 번째 번호가 매겨진 목록 이후의 모든 내용이 사라졌습니다. 에러도, 로그에도 아무것도 없었고, 게시물이 단순히 문장 중간에서 끝나버린 것입니다.

처음에 당황스러웠던 점: 같은 이메일 앞부분의 볼릿 목록은 정상적으로 전송되었습니다. 번호가 매겨진 목록만 잘렸고, 그 이후의 모든 내용도 함께 사라졌습니다.

이 문제는 lib/email/receiver.rb의 extract_from_word 함수에서 발생합니다. Outlook/Word 메일의 경우, .WordSection1의 자식 요소 중

    가 아닌 첫 번째 요소를 서명이나 전달된 메시지의 시작점으로 간주하고, 해당 요소와 그 이후의 모든 형제 요소를 제거합니다:

    elided =
    doc.css(
    “.WordSection1 > :not(p):not(ul):first-of-type, .WordSection1 > :not(p):not(ul):first-of-type ~ *”,
    ).remove

    Outlook은 번호가 매겨진 목록을

      로 렌더링하는데, 선택자가
        를 제외하지 않습니다. 따라서 번호가 매겨진 목록이 “

        도 아니고

          도 아닌” 첫 번째 요소가 되며, 수신기가 바로 그 지점에서 메시지를 잘라버립니다. 볼릿 목록(
            )은 제외되어 있어 볼릿 목록은 유지되고 번호가 매겨진 목록만 사라지는 것입니다.

            재현 방법

            1. Outlook(데스크톱)에서 알림에 답장합니다. 단락 하나, 번호가 매겨진 목록, 그리고 또 다른 단락을 작성합니다.
            2. 생성된 게시물은 번호가 매겨진 목록까지의 텍스트만 유지하고, 목록과 그 아래 모든 내용을 삭제합니다.

            이를 재현하는 최소한의 HTML 본문 (수신기 스펙에 쉽게 삽입 가능):

            도입부 단락.

            단계:

            1. 첫 번째
            2. 두 번째

            이 마지막 단락도 사라집니다.

            결과적으로 도입부 단락 두 개만 반환됩니다.

            main 브랜치에도 여전히 존재합니다 — 선택자가 변경되지 않았습니다. 버그 카테고리를 먼저 검색해 보았지만, 이 문제가 이미 등록되어 있는지 찾지 못했습니다.

            제안하는 수정 사항

            번호가 매겨진 목록은 서명이 아니라 콘텐츠이므로,

                와 동일하게 취급하세요:

                “.WordSection1 > :not(p):not(ul):not(ol):first-of-type, .WordSection1 > :not(p):not(ul):not(ol):first-of-type ~ *”

                이렇게 하면 목록은 유지되고, 실제 서명/전달 마커(테이블, div, hr, 이미지)는 여전히 생략됩니다. 도움이 된다면 픽스처 이메일과 실패하는 스펙을 포함해 PR을 열겠습니다.

1개의 좋아요

음, 먼저 사이트를 업데이트해 보실 수 있을까요? 현재 버전이 최신 버전이 아니므로, 그 사이 수정되었을 수도 있습니다.

음. 관리자 화면의 Discourse 상태에서는 최신 버전으로 업데이트되어 정상 작동 중이라고 표시되고 있습니다. 정말 이상하네요.

확인해 보니 ESR의 최신 버전을 실행 중인 것 같습니다. 당분간은 우회 방법으로 대응하고 있습니다. 제가 작성한 플러그인이 많아서, 우회 방법이 있긴 하지만 높은 트래픽을 처리하는 프로덕션 서버에서 테스트를 위해 리스크를 감수하고 싶지 않습니다. 나중에 업그레이드할 때까지 기다렸다가 그때 고쳐졌는지 확인해야 할 것 같습니다.

아, 아마도 릴리스 목록을 잘못 읽은 것 같습니다. 네, 제 생각에는 해당 버전이 여전히 지원되는 것 같습니다.

재현(그리고 그에 따른 수정)을 쉽게 할 수 있는 해당 이메일의 예시가 있을까요? PII 데이터가 마스킹 처리된 .eml 파일을 DM으로 보내주시면 됩니다.

신규 사용자라 파일을 업로드할 수 없어요. 그리고 DM을 보낼 수 있는 곳이 어디인지 여기저기 찾아봤는데 찾을 수 없네요. 그래서 DM 기능도 비활성화되어 있는 것 같습니다. 이렇게 번거롭게 해서 죄송합니다.

신뢰 등급을 올려주었으니 이제 내 아바타를 클릭하면 메시지 버튼을 볼 수 있을 거예요 :wink:

완료했습니다. 감사합니다. 정말 감사드립니다.

@ryanturner 님, 자세한 보고서와 테스트용 이메일을 보내주셔서 감사합니다 :+1:

해당 버그는 다음을 통해 수정됩니다.

1개의 좋아요