Como posso converter e-mails HTML em texto simples com o fetchmail?

3

Recentemente, criei um gateway de e-mail para nosso rastreador de bugs, que foi originalmente planejado como uma maneira de simplificar o relatório de erros do nosso software de servidor. Eu disse aos meus colegas sobre isso, e eles também estavam felizes em ter esse recurso, mas fiquei horrorizado ao descobrir o abuso do meu sistema pobre infligido por e-mails de entourage / outlook.

Primeiro, o endereço de e-mail do remetente parece terrivelmente confuso, como "Nome =? ISO-8859-1? B? TGp1bmdzdHL2bQ ==?=" '. O corpo do e-mail é um anexo HTML, obviamente com uma quantidade desnecessária Os anexos são particularmente irritantes, já que aparecem como anexos de tickets no rastreador de bugs e o corpo do ticket está vazio.

Eu fiz um pouco de googling, mas só encontrei soluções sugerindo feios scripts awk ou perl enormes , que não parecem ser nem sustentáveis nem robustos o suficiente para resolver todos os possíveis casos de borda para o HTML do Outlook.

Qual é a melhor solução aqui?

Nossa plataforma de destino é o windows server, e eu preferiria algo em python, mas temos uma instalação do cygwin e, portanto, podemos usar outros utilitários unix, se necessário.

    
por Nik Reiman 06.08.2009 / 10:19

2 respostas

6

Se você pesquisar sua pergunta com fetchmail em mente, não encontrará boas respostas. Isso porque fetchmail não é a ferramenta para o seu trabalho.

Como a FAQ do Fetchmail diz:

Repeat after me: fetchmail's job is transport, not policy.

O que a maioria das pessoas faz nesses casos é usar fetchmail junto com procmail . O mais fácil é enviar mensagens através de html2txt , como explicado aqui .

Se você nunca trabalhou com procmail , não tenha medo. procmail é horrível, mas se você mantiver as coisas simples, não é tão ruim.

    
por 06.08.2009 / 11:14
3

fetchmail é apenas para buscar e-mails, como seu nome diz.

Em sistemas Unix, a maioria das pessoas usa procmail para processamento de email. Você pode escrever uma receita que verifique /<html/i e canalize a mensagem através de w3m -dump (ou lynx -dump ou qualquer coisa que você queira). Eu não tenho certeza se existe algo similar para o Windows ...

(Eu também teria procmail resposta com um tutorial sobre como desativar o HTML.)

    
por 06.08.2009 / 11:17