Modifica uma mensagem recebida de texto / simples para texto / html

4

Estou usando o mutt para processar meu e-mail. Existe um remetente que declara o tipo de conteúdo errado. O email chega com

Content-Type: multipart/alternative;
  boundary=--…

e tem duas partes. Eles são declarados como:

Content-Type: text/plain; charset=utf-8

e

Content-Type: text/html; charset=utf-8

No entanto, ambas as partes do email são iguais. Portanto, a parte de texto simples está cheia de tags HTML e também da parte HTML. Eu tentei discutir isso com o remetente, mas eles usam algum tipo de software 'corporativo' onde eles não podem alterar essas configurações.

Então, eu gostaria de alterar o e-mail localmente e talvez remover o text/plain -part ou reescrever text/plain to text/html .

O que você acha da melhor maneira e quais ferramentas eu posso usar para obter um e-mail legível no meu caso?

    
por qbi 29.01.2013 / 16:07

1 resposta

2

No mutt, você pode digitar v e, em seguida, selecionar a alternativa que deseja exibir. Você também pode alterar o tipo de conteúdo de uma peça com Ctrl-E .

Como uma abordagem mais genérica, você pode usar a configuração mutt de display_filter :

set display_filter=/path/to/mutt-filter

Com mutt-filter sendo algo como:

#! /usr/bin/awk -f
BEGIN {
  cmd="echo '[automatically converted from html to text]'; w3m -T text/html -dump"
}
{l=tolower($0)}
l ~ /<html|<!doctype html/,l ~ /<\/html>/ {
  print | cmd
  next
}
{close(cmd); print}

O que causaria (em qual mutt será exibido, não o e-mail bruto) qualquer coisa entre <html> e </html> passar por w3m -T text/html -dump (ou elinks -dump ou sua% preferidahtml a text converter).

Como isso pode converter coisas que não devem (como quando <html> aparece em uma parte text/plain genuína), você pode querer adaptá-lo para que ele só funcione em e-mails daqueles caras que enviam e-mails falsos , ou alguma abordagem ainda mais chique como contar o número de tags e converter ao atingir um limite ...

    
por 29.01.2013 / 16:12