HTML mail which isn't handled correctly by 'auto_view text/html

Chris Green cl at isbd.net
Thu Feb 7 08:36:19 UTC 2019


On Thu, Feb 07, 2019 at 09:44:25AM +1100, Cameron Simpson wrote:
> On 06Feb2019 13:01, Chris Green <cl at isbd.net> wrote:
> > On Wed, Feb 06, 2019 at 01:00:48PM +1100, Cameron Simpson wrote:
> > > Scenario B:
> > > If DHL really are sending HTML in a standalone text/plain body then
> > > you've got 2 choices.
> > > 
> > > The first is to act when you receive the email; if you're using procmail or
> > > something similar to file you email you could match these messages and
> > > modify the Content-Type: header to say "text/html".
> > > 
> > > The alternative is to match the message with mutt, and to set display_filter
> > > specially for this message. You could use your normal display_filter and use
> > > a message-hook to override it with the command from the mailcap ("lynx
> > > -dump").
> > > 
> > OK, thanks, it's quite rare and, at the moment, only DHL notifications
> > doing this that I actually want to see the content.
> 
> Just further to the display_filter thing: I normally use a display_filter,
> set to a personal script which goes:
> 
>    #!/bin/sh
>    #
>    # Mutt display filter, whose behaviour adjusts accoridng to some flags.
>    #   - Cameron Simpson <cs at cskk.id.au> 29jan2017
>    #
> 
>    if flag MUTT_ROT13
>    then  tr '[A-Z][a-z]' '[N-Z][A-M][n-z][a-m]'
>    else  cat
>    fi \
>    | if flag MUTT_UNTOPPOST
>      then  untoppost
>      else  cat
>      fi \
>    | mutt-highlight
> 
> The mutt-highlight is a sed script which turns *foo* into bold and _foo_
> into underlined. But the important thing here is the if statement: it
> optionally runs the message body through some filters. For example, I've got
> a mutt macro ^X to toggle the MUTT_ROT13 flag and redisplay the message.
> 
> You could adopt such a scheme for your HTML issue (in fact, I'm going to do
> that myself too): have an optional flag to decode the HTML using a pipeline
> flavour of your mailcap unhtml line. Then bind a mutt keystroke to toggle
> the flag and redisplay. My rot13 bindings go:
> 
> set my_toggle_rot13="$my_push_wait_key=no<enter><shell-escape>flag ! MUTT_ROT13 
> -e flag MUTT_ROT13<enter>$my_pop_wait_key" 
>    macro index \Cx "$my_toggle_rot13" 'toggle MUTT_ROT13'
>    macro pager \Cx "<exit>$my_toggle_rot13<display-message>" 'toggle MUTT_ROT13'
> 
> Just a thought. Source for any of the above is available.
> 
That's just the sort of thing I was hoping for - "oh, look, there's
some raw HTML...", a couple of keystrokes and it's converted.

I may well come back in a few days and ask to see the source for
untoppost, the rest I can probably fathom out for myself.

Thanks.

-- 
Chris Green


More information about the Mutt-users mailing list