muttがヘッダーの1つのインスタンスのみを表示するように設定する

muttがヘッダーの1つのインスタンスのみを表示するように設定する

muttに特定のヘッダーの最後のインスタンスのみを表示させるにはどうすればよいですか?

ge UCEメッセージやフィッシングメッセージなど、ほとんどの場合、複数の「Received:」行のうち最後の(または最も古い)行は、メッセージソースに関する重要な情報です。 muttに"Received:"ヘッダーの最後のインスタンスのみを表示させる方法はありますか?

ベストアンサー1

使用できるフィルタ表示:

3.54 ディスプレイフィルタ

タイプ:パス
デフォルト:(空)

設定したら、メッセージをフィルタリングするために使用されるコマンドを指定します。メッセージを見ると、標準入力として$ display_filterに渡され、フィルタリングされたメッセージは標準出力から読み取られます。

これには、標準入力からメッセージを読み取り、それに応じて「Received」ヘッダーをフィルタリングするための別のコマンドが必要です。例えば。

$ cat last-rec.sed
0,/^$/{ # only process headers
    :hdr
    /^Received:/{
        h # overwrite any previous Received line
        :fold
        # read next line without printing current
        N
        s/^.*\n//
        /^[[:space:]]/{
            H # append to current Received line
            b fold
        }
        b hdr
    }
    /^$/{
        # show final received line
        x
        p
        # and the empty line
        x
    }
}

Received:(これを行うと、残りの行が他のすべてのヘッダーの下に移動するという副作用があります。)

次に、次のように設定しますmuttrc

set display_filter="sed -f /path/to/last-rec.sed"

おすすめ記事