I use procmail, metamail (also available from here), pstotext, and (soon) html-to-ascii to turn all my messages to ASCII text since that's the lowest common denominator for me.
Here's my simple procmail recipe (this depends upon C-shell, not Bourne shell.):
:0 *^content-type: { :0fw |setenv METAMAIL_PAGER cat; setenv MM_NOTTTY 1; \ setenv MAILCAPS ~/.mailcap.print; \ setenv KEYHEADS '*'; formail -c | metamail }
To use this, you must create a file $HOME/.mailcap.print with these contents:
application/dvi; dvi-app-name %s message/delivery-status; cat %s image/*; uuencode %s < %s audio/basic; uuencode %s < %s compress/compress; print=uuencode %s < %s application/postscript ; pstotext %s ; description='A Postscript File';\ compose='getfilename Postscript %s' postscript-file; pstotext %s */*; uuencode %s < %s
Finally, you'll need to apply this patch to metamail. It makes the -x flag work properly through procmail.
*** src/metamail/metamail.c.orig Thu Dec 5 17:41:32 1996 --- src/metamail/metamail.c Thu Dec 5 17:41:32 1996 *************** *** 2330,2336 **** ConsumeRestOfPart(OutputFP); } #if !defined(AMIGA) && !defined(MSDOS) ! if (UsingStandardInput && feof(InputFP) && !freopen("/dev/tty", "r", stdin)) { fprintf(stderr, "Warning: Cannot freopen /dev/tty to stdin"); } else InputFP = stdin; #endif --- 2330,2336 ---- ConsumeRestOfPart(OutputFP); } #if !defined(AMIGA) && !defined(MSDOS) ! if (!MustNotBeTty && UsingStandardInput && feof(InputFP) && !freopen("/dev/tty", "r", stdin)) { fprintf(stderr, "Warning: Cannot freopen /dev/tty to stdin"); } else InputFP = stdin; #endif
And you should be ready to rock-n-roll! Changing the above recipe to Bourne shell would probably be trivial.
Date Last Modified: Thu Feb 15 16:01:22 UTC 2007