Difference between revisions of "Mutt"

From WTFwiki
Jump to navigation Jump to search
(add text/calendar magic for mutt)
Line 59: Line 59:
 
== Render "text/calendar" type ==
 
== Render "text/calendar" type ==
 
See here: [http://nickmurdoch.livejournal.com/391409.html nickmurdoch: Autoview .ics iCalendar (text/calendar) attachments in mutt]
 
See here: [http://nickmurdoch.livejournal.com/391409.html nickmurdoch: Autoview .ics iCalendar (text/calendar) attachments in mutt]
 +
 +
Be aware, when copy/pasting his script, you may get bit by funny whitespace issues and have to more or less remove them and replace with your own tabs.

Revision as of 08:54, 18 February 2013

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.

Alternative solutions for those behind NAT

So you think the above is a great idea, but you're behind NAT? Or you're switching machines too often? Here's a solution, changes are only minor:

  1. Use "ssh -R2022:localhost:22 ..." to log into the mutt machine - change port numbers if needed.
  2. The mutt macro changes to this
macro pager o "v/html<enter>|ssh -o \"NoHostAuthenticationForLocalhost yes\" -i ~/.ssh/html_mail_key -p2022 localhost<enter>q" \
       "View HTML mail in Firefox"

Render "text/calendar" type

See here: nickmurdoch: Autoview .ics iCalendar (text/calendar) attachments in mutt

Be aware, when copy/pasting his script, you may get bit by funny whitespace issues and have to more or less remove them and replace with your own tabs.