HTML mail which isn't handled correctly by 'auto_view text/html
Cameron Simpson
cs at cskk.id.au
Wed Feb 6 02:00:48 UTC 2019
On 05Feb2019 22:10, Chris Green <cl at isbd.net> wrote:
>I am getting notification E-Mails from DPD which aren't handled
>correctly by 'auto_view text/html' in my muttrc and 'text/html; lynx
>-dump %s; copiousoutput; nametemplate=%s.html' in .mailcap.
>
>Presumably it's simply that there is no 'text/html' string in the
>headers, I just get to see the raw HTML. In fact there is the
>following:-
>
> ...
> ...
> ...
> Subject: Your order 3179771 is due for delivery by DHL Parcel UK
> Content-Type: multipart/alternative;
> boundary="--boundary_145134_db6b4c85-2751-452f-bf4b-c56010b07587"
> Message-ID:
> <eaa14d01-a923-4fcd-8ff1-88ed5b135903 at BH-EXCH01.business-post.com>
> Status: RO
> Content-Length: 20807
> Lines: 285
>
> Content-Type: text/plain; charset="us-ascii"
> Content-Transfer-Encoding: quoted-printable
>
> <!DOCTYPE HTML>
> <html>
> <head>
> <!-- Define Charset -->
> ...
> ...
> ...
>
>So that would explain it! Is there any way to manually ask mutt to
>treat this as text/html?
Kinda.
Firstly, is that really the entirely of the relevant headers? No
text/html or multipart/mixed? DHL are really sending HTML notifications
(ugh!) identified as text/plain? That is a new low.
(My previous low is the many senders who send multipart/mixed with
either the HTML duplicated in the text/plain half or outright absent -
empty text/plain half.)
So: are DHL sending _only_ an text/plain section or both text/plain and
text/html? In my experience it is usually the latter.
Scenario A: Both text/html and text/plain, but the text/plain contains HTML. I get
this a lot. I have this in my muttrc:
############################
# alternative-order criteria
message-hook . 'unalternative_order *; alternative_order text/plain text/html'
# Apple Mail embeds attachments in the HTML part instead of outside
# the multipart/mixed
message-hook '~h "X-Mailer: Apple Mail" ~X 1-' 'unalternative_order *; alternative_order text/html multipart/mixed text/plain'
# senders who can't seem to master multipart/mixed, and send empty
# or useless text/plain sections
# or just badly badly formatted plain text, such as live.com etc
message-hook '%f htmlers | ~f @no-reply at cc.yahoo-inc.com | ~f @outlook.com | ~f live.com | ~f @facebookmail.com' 'unalternative_order *; alternative_order text/html text/plain'
which uses "alternative_order text/plain text/html" normally, but
reverses that for some special messages: Apple Mail with attachments,
and email from known bad domains and senders in my %htmlers mutt group,
a list of specific know bad authors.
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").
Cheers,
Cameron Simpson <cs at cskk.id.au>
More information about the Mutt-users
mailing list