Here is some code for handling HTML parts. To show the part it funcalls rmail-mime-render-html-function, which defaults to using shr if libxml is available, or lynx if you have that. Other methods could be written. In the long run it would probably be better to integrate rmail mime handling with gnus mime handling, but that seems like a big job. Even if you use shr, if it does not render images called for by the html part, because asynchronous retrieving of images gets confused by rmail's buffer-swapping. (Personally, I'm using lynx, because I don't want my email to look like a web page. I just want to figure out what the sender had to say.) If the message is only HTML, it just renders it. But if there is an alternative text/plain part, it prefers that and you have to use the "Show" button to get the HTML rendered. It does not render HTML on searching, so searching looks through the actual HTML. Otherwise it would be very slow if you have a large mail file. Here is a bazaar bundle. Ken