web-dev-qa-db-ja.com

受信メールをtext / plainからtext / htmlに変更します

メールの処理に mutt を使用しています。間違ったコンテンツタイプを宣言する送信者が1人います。メールはで到着します

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

2つの部分があります。それらは次のように宣言されます:

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

そして

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

ただし、メールの両方の部分は同じです。したがって、平文部分はHTMLタグとHTML部分でいっぱいです。私はそれを送信者と話し合うことを試みましたが、彼らはそれらの設定を変更できないある種の「エンタープライズ」ソフトウェアを使用しています。

そこで、メールをローカルで変更し、text/plain-部分を削除するか、text/plaintext/htmlに書き直したいと思います。

私の場合、読みやすいメールを取得するための最善の方法と、どのツールを使用できると思いますか?

4
qbi

Muttでは、次のように入力できます v、次に表示する選択肢を選択します。パーツのコンテンツタイプをで変更することもできます Ctrl-E

より一般的なアプローチとして、muttdisplay_filter設定を使用できます。

set display_filter=/path/to/mutt-filter

mutt-filterは次のようなものです:

#! /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}

これにより、(生の電子メールではなく、muttが表示される内容で)<html></html>の間のすべてがw3m -T text/html -dump(またはelinks -dump)を通過します。またはお好みのhtmlからtextへのコンバーター)。

<html>が本物のtext/plainパーツに表示される場合など)意図されていないものを変換する可能性があるため、偽の送信者からの電子メールでのみ動作するように調整することをお勧めします。電子メール、またはタグの数を数え、しきい値に達したときに変換するなど、さらに洗練されたアプローチ...

2