Как я могу конвертировать электронные письма HTML в обычный текст с fetchmail?

3

Недавно я настроил почтовый шлюз для нашего баг-трекера, который изначально предназначался для оптимизации отчетов об ошибках с нашего серверного программного обеспечения. Я рассказал об этом своим коллегам, и они также были счастливы иметь эту функцию, но я с ужасом обнаружил злоупотребление моей плохой системой, вызванное электронной почтой окружения.

Во-первых, адрес электронной почты отправителя выглядит ужасно искаженным, например: «Имя =? ISO-8859-1? B? TGp1bmdzdHL2bQ ==? =" ». Тело письма - это вложение в формате HTML, конечно, с ненужным количеством дополнительного кода. Вложения особенно раздражают, так как они отображаются в виде вложений в трекере ошибок, а тело заявки пусто.

Я немного погуглил, но нашел только решения, предлагающие огромные уродливые скрипты на awk или perl , которые кажутся не обслуживаемыми и не достаточно надежными, чтобы учесть все возможные крайние случаи для внешнего вида HTML.

Что является лучшим решением здесь?

Нашей целевой платформой является Windows Server, и я бы предпочел что-то на Python, но у нас есть установка Cygwin, и поэтому мы можем использовать другие утилиты Unix, если это будет необходимо.

Ник Рейман
источник

Ответы:

6

Если вы исследуете свой вопрос, имея fetchmailв виду, вы не найдете хороших ответов. Это потому, что fetchmailэто не инструмент для вашей работы.

Как часто задаваемые вопросы Fetchmail говорят:

Повторяйте за мной: работа fetchmail - это транспорт, а не политика.

То, что большинство людей делают в таких случаях, это использовать fetchmailвместе с procmail. Проще всего было бы передать вам сообщения, html2txtкак описано здесь .

Если вы никогда не работали с procmail, не бойтесь. procmailэто ужасно, но если вы сохраняете вещи простыми, это не так уж плохо.

Людвиг Вайнцерль
источник
3

fetchmail только для получения почты, так же, как говорит ее имя.

В системах Unix большинство людей используют procmailдля обработки электронной почты. Вы можете написать рецепт, который проверяет /<html/iи передает сообщение w3m -dump( lynx -dumpили что угодно). Я не уверен, существует ли подобное для Windows ...

(Я также сделал бы procmailответ с учебником по отключению HTML.)

grawity
источник