Mutt
Render HTML email when there's no text/plain alternative
If there's no text/plain version of an email component, mutt defaults to just rendering the html, regardless of the mailcap file.
To make it do something more useful:
.mailcap
text/html; lynx -force_html -dump %s ; copiousoutput
.muttrc
auto_view text/html
alternative_order text/plain
One downside of this, is that lynx no longer can run interactively (you can't follow links from a html email). Instead lynx will print out a references section at the bottom with all the embedded links.
More info can be found at http://www.mutt.org/doc/manual/manual-5.html
Open HTML mails in a browser on another machine
1. On your mutt machine:
1.1. Generate passwordless ssh key (don't worry we'll limit the access):
ssh-keygen -f ~/.ssh/html_mail_key
1.2. Add to .muttrc:
macro pager o "v/html<enter>|ssh -i ~/.ssh/html_mail_key MACHINE<enter>q" \ "View HTML mail in Firefox on MACHINE"
where MACHINE is your browser machine name. I've chosen *o* as the keybinding here.
2. On your browser machine:
2.1. Add to $HOME/.ssh/authorized_keys:
command="/home/yourname/bin/open_html_mail.sh" <key>
Where <key> is the stuff from ~/.ssh/html_mail_key.pub on the mutt machine.
2.2. Create $HOME/bin/open_html_mail.sh:
#!/bin/sh cat >/tmp/last_html_mail.html DISPLAY=:0 firefox /tmp/last_html_mail.html
2.3. chmod +x $HOME/bin/open_html_mail.sh
That's it. Add also "unset wait_key" to your .muttrc if the extra keypress annoys you.