이메일 알림에서 첨부파일이 multipart/alternative로 잘못 분류됩니다

첨부 파일을 포함하여 이메일 알림을 보내면 생성되는 다중 부분(multipart) MIME 구조가 잘못 형성됩니다. 첨부 파일이 “mixed” 부분으로 포함되는 대신 “alternative” 부분으로 포함됩니다. 그 결과 Thunderbird와 같은 일부 이메일 클라이언트에서는 첨부 파일이 이메일 콘텐츠의 대안 형식(예: 텍스트 대 HTML)으로 해석되므로 첨부 파일이 표시되지 않습니다.

[다음 인용문은 Mail 모듈에 의존하는 본질적으로 동일한 버그 리포트에서 가져온 것입니다.]

이메일 구조가 다음과 같기를 기대합니다:

multipart/mixed
  multipart/alternative
    text/plain
    text/html
  application/pdf (즉, PDF 첨부 파일의 경우)

실제로 수신되는 구조:

multipart/alternative
  text/plain
  text/html
  application/pdf (즉, PDF 첨부 파일의 경우)

실질적인 영향:
thunderbird는 사용자 설정(txt 또는 html)에 따라 올바른 텍스트 본문을 렌더링하지만, 첨부 파일은 첨부된 파일로 표시되지 않습니다(이메일 소스 코드에는 base64 인코딩된 블록으로 존재합니다). ios 메일은 본문이 비어 있고, 마지막 항목인 PDF 첨부 파일만 파일로 표시합니다. 이는 이메일 클라이언트가 이 항목만 렌더링하는 것으로 보입니다.

Discourse가 의존하는 Mail 모듈에 대해 잠재적으로 관련이 있을 수 있는 버그 리포트가 몇 건 있습니다. 이 중 일부 리포트는 특정 방식으로 부분을 전달하면 문제가 해결된다는 미묘한 암시를 포함하여 닫혀 있습니다. 여기서는 어떤 경우가 해당되는지 확실하지 않지만, 위에서 인용하고 링크한 리포트에서 여러 리포트가 링크되어 있습니다.

9개의 좋아요

이 문제를 보고해 주시고, 명확한 설명을 제공해 주셔서 감사합니다!

해당 문제는 FIX: Notification emails with attachments are incorrectly structured · discourse/discourse@59578df · GitHub 커밋부터 수정되었습니다.

7개의 좋아요

이 주제는 4일 후 자동으로 닫혔습니다. 더 이상 답변이 허용되지 않습니다.