Notificações por e-mail atribuem incorretamente anexos ao multipart/alternative

Ao enviar notificações por e-mail com anexos, a estrutura MIME multipart resultante está malformada. Os anexos são incluídos como uma parte “alternative”, em vez de uma parte “mixed”. Como resultado, alguns clientes de e-mail, como o Thunderbird, não exibem esses anexos, pois são interpretados apenas como um formato alternativo do conteúdo do e-mail, como texto versus HTML.

[A citação a seguir é de um relatório de bug essencialmente idêntico contra o Mailer, que também depende do módulo Mail.]

o que espero que a estrutura do e-mail seja:

multipart/mixed
  multipart/alternative
    text/plain
    text/html
  application/pdf (ou seja, no caso de um anexo PDF)

o que estou recebendo:

multipart/alternative
  text/plain
  text/html
  application/pdf (ou seja, no caso de um anexo PDF)

o efeito prático:
o Thunderbird renderiza o corpo de texto correto, dependendo da preferência do usuário (txt ou html), mas não exibe o anexo como um arquivo anexado (no entanto, ele está no código-fonte do e-mail como um bloco codificado em base64). O Mail do iOS mostra um corpo de e-mail vazio e apenas o anexo PDF como um arquivo, já que é a última entrada e, aparentemente, o cliente de e-mail renderiza apenas isso.

Há alguns relatórios de bugs possivelmente relacionados contra o módulo Mail do qual o Discourse depende. Alguns desses relatórios foram fechados com a implicação não declarada de que fornecer as partes de uma maneira específica resolve o problema. Não tenho certeza se esse é o caso aqui, mas vários desses relatórios estão vinculados ao relatório que citei e linkuei acima.

9 curtidas

Obrigado por relatar isso e por fornecer uma descrição clara do problema!

Isso já deve estar corrigido a partir de FIX: Notification emails with attachments are incorrectly structured · discourse/discourse@59578df · GitHub.

7 curtidas

Este tópico foi fechado automaticamente após 4 dias. Novas respostas não são mais permitidas.