MH-E can display messages that have been sent in HTML. The content of the message will appear in the MH-Show buffer as you would expect if the entire message is HTML, or there is an inline HTML body part. However, if there is an HTML body part that is an attachment, then you’ll see a button like this:
[1. text/html; foo.html]...
To see how to read the contents of this body part, see Viewing Attachments.
The browser that MH-E uses is determined by the option
mm-text-html-renderer
. The default setting is set automatically
based upon the presence of a known browser on your system. If you wish
to use a different browser, then set this option accordingly. See the
documentation for the browser you use for additional information on
how to use it. In particular, find and disable the option to render
images, as displaying remote images can tip off spammers that the
email address they have used is valid.
If you’re confused about which mm-text-html-renderer
to use,
here’s a brief description of each, sorted by name.
The ‘gnus-w3m’ browser requires an external program. It’s quick, produces pretty nice output, and it highlights links. It renders ‘–’ and ‘®’ okay. It sometimes fails to wrap lines properly. It always downloads remote images.
The ‘links’ browser requires an external program. It’s quick, and produces nicer output than ‘lynx’ on single column mails in tables. However, it doesn’t show links and it doesn’t do as nice a job on multi-column tables as some lines wrap. It does do a good job of fitting text within 80 columns. It appears to render special characters using ASCII equivalents. For example, ‘®’ appears as (R). It does not download images.
The ‘lynx’ browser requires an external program. It’s quick and produces pretty decent output but it doesn’t show links. It doesn’t seem to do multi-column tables which makes output much cleaner. It centers the output and wraps long lines more than most. It does not always handle special characters like ‘®’ or ‘–’. It does not download images.
This choice does not require an external program, but it does require
that Emacs be configured at build time to use ‘libxml2’. It is
fairly quick, it highlights links, and it supports HTML color
declarations. It renders ‘–’ and ‘®’ okay. It
sometimes truncates text, particularly if the message tries to have
fancy text layout. By default it does not download images; this
behavior is controlled by the options mm-html-blocked-images
and mm-html-inhibit-images
(see section Display Customization in the The Emacs MIME Manual).
The ‘w3m’ browser requires an external program. It’s quick,
produces pretty nice output, and it highlights links. These can be
clicked with mouse-2 to view the content of the link in
‘w3m’. The ‘w3m’ browser handles tables well and actually
respects the table’s width parameter (which can cause text to wrap if
the author didn’t anticipate that the page would be viewed in Emacs).
It does not download images by default; this behavior is controlled by
the option mm-w3m-safe-url-regexp
(see section Display Customization in the The Emacs MIME Manual).
This browser is quick, but does not show links. It handles simple tables but some tables get rendered much wider than the Emacs frame. This browser renders ‘–’ and ‘®’ okay. It does not download images.
For a couple more sources of information about
mm-text-html-renderer
,
see section Display Customization in the The Emacs MIME Manual and the
documentation for the Gnus command W h (see section
Article
Washing in the
The Gnus Manual).
A useful key binding that you can add to ~/.emacs is the following which displays an HTML link or textual URL in an external browser when clicked with S-mouse-2. This binding works in any buffer, including HTML buffers.
(global-set-key [S-mouse-2] 'browse-url-at-mouse)