Mutt

From WTFwiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.