Usando texto / markdown em emails

1

Eu tenho que esperar algum problema no lado do destinatário se eu começar a enviar e-mails de parte única como Content-Type: text/markdown; charset=UTF-8; de acordo com os RFCs 7763 e 7764 ? Eu acredito que ele deve cair com segurança para o padrão text/plain .

Existem várias maneiras pelas quais os clientes de e-mail podem oferecer suporte a Markdown / Commonmark ou aos idiomas relacionados. Estou falando de transmissão e da exibição aqui

.

Entrada

  • Converta asteriscos, sublinhados, etc. O usuário insere o teclado em tags HTML (ou, teoricamente, em qualquer outro formato rich text) e envia o email como uma mensagem multipartes com text/plain e text/html .
  • Como acima, mas também ofereça botões GUI ou atalhos de teclado (por exemplo, foo + Ctrl I _foo_ ) para auxiliar a entrada desses formatos. Este é basicamente um editor de rich text que gera um melhor fallback de texto simples do que a maioria atualmente.

Ambos podem usar pré-visualizações sem, in-line, lado a lado ou antes do envio do texto renderizado.

Isto é o que os plugins como Markdown Here podem fazer e alguns clientes de e-mail (web) suportam nativamente, por ex. Correio aéreo , Correspondência de e-mail , Mailspring , Gmelius , Cypht . Alguns boletins informativos, admin, tíquete ou sistemas de loja que enviam e-mails também podem manipular a entrada de redução de desta maneira.

Transmissão

  • Envie mensagens de peça única como text/markdown em vez do padrão text/plain , contando com uma reversão graciosa para o último. É sobre isso que estou perguntando!
  • Envie mensagens de várias partes com text/markdown em vez de text/html , basicamente duplicando o corpo da mensagem text/plain .
  • Envie mensagens de várias partes com text/html e text/markdown em vez da versão básica text/plain .

Mail Mate e Groups.io pode adicionar um parâmetro de cabeçalho como este:

Content-Type: text/plain; format=flowed; markup=markdown

Exibir

  • Exibir e-mails recebidos de uma única parte que tenham o cabeçalho text/markdown apropriado definido como texto simples, como se fosse text/plain . Esta é a alternativa esperada e graciosa.
  • Exibir e-mails recebidos de uma ou várias partes que tenham o cabeçalho Content-Type definido com um parâmetro text/markdown ou markup=markdown como rich text com os caracteres de formatação removidos.
  • Exibir mensagens de uma só parte recebidas que passam algumas heurísticas para determinar se foram escritas de acordo com o Markdown ou algumas outras convenções de LML como rich text com os caracteres de formatação possivelmente sendo mantidos.

Muitos clientes, por exemplo O Apple Mail oferece suporte à renderização rich text de um único recurso Markdown: bloqueie as cotações com (possivelmente aninhadas) > no início da linha.

    
por Crissov 26.09.2018 / 16:03

2 respostas

1

Markdown foi implementado de várias formas e sabores. Wikipedia lista Standard, CommonMark, GFM e Markdown Extra, mas cada implementação do mesmo padrão pode dar resultados diferentes para o mesmo texto markdown ( exemplo ).

Apesar dos novos RFCs, não há nenhum tipo de padrão oficial para email, mas text/markdown parece ser o tipo de fato mais comum. A maioria dos navegadores e outros clientes razoavelmente sofisticados provavelmente verão a parte text/ e padrão para text/plain , então não há muita diferença em relação ao e-mail.

Se você der uma olhada no Lista de Implementações de Markdown , você verá que nem mesmo um cliente ou servidor de e-mail está incluído nele.

Existem sites que convertem seu markdown em HTML e enviam o email para você, por exemplo, o comercial Gmelius , e PHP também tem alguns módulos de remarcação, mas os conversores são o máximo que você pode esperar.

De acordo com os comentários do @grawity, entre os clientes de email testados, somente o Thunderbird o transmitiu como dados brutos a serem exibidos. Os outros simplesmente colocaram o Markdown dentro de um anexo. Isso significa que apenas o Thunderbird prestou atenção na parte text/ no Content-Type, enquanto os outros apenas tratou toda a especificação MIME, que para eles era desconhecida, uma vez que não entendo Markdown.

Eu realmente não acho que as coisas estão hoje usando O Markdown é uma boa ideia como a onda de incorporação de remarcação não atingiu o clientes de email e talvez nunca façam isso. Em qualquer caso, de acordo com o w3.org link acima, nenhum cliente de e-mail manipula corretamente, então não há realmente não faz sentido.

    
por 26.09.2018 / 16:44
0

Se o e-mail tiver que ser único, ele não poderá voltar ao texto / simples, porque existe apenas a parte de remarcação. Você ficaria totalmente dependente do suporte ao markdown do cliente de email do destinatário. Para mensagens multipartes que contêm texto / markdown e text / plain, acho que pode funcionar. Você já tentou isso?

Não sei ao certo qual é o suporte atual para o Markdown em clientes de e-mail, mas tenho a impressão de que ainda não é amplamente aceito. Além de esta página bastante antiga , não consigo encontrar nada.

Eu apenas tentei abrir esta mensagem no Outlook (salvo como .eml file); mostra como uma mensagem vazia com um anexo de texto:

From: John Doe <[email protected]>
MIME-Version: 1.0
Content-Type: text/markdown

# this is the body text
    
por 26.09.2018 / 16:16