$ stripmultiparts -h
Purpose: deletes MIME parts from email messages.
Version: 1.14
Usage: stripmultiparts [options..]
  -delempty   Delete empty parts
  -dir <dir>  Put decoded parts and temporary files in <dir>
  -keep       Keep deleted MIME parts as file
  -mutt       Use Mutt-specific replacement for deleted MIME parts
  -type <t>   Delete parts from MIME parts of type multipart/<t>
              Use -type all to specify all possible multipart types
  -verbose    Verbose output

Some possible multipart types are:
  multipart/alternative
  multipart/mixed
  multipart/related

When setting a multipart option, all enclosed parts except those of type
text/plain, message/* and */rfc822* are deleted. Multiparts within other
multiparts will be parsed recursively.

Example procmail recipe: 

    :0 fw
    * ^Content-Type: multipart/
    * !^Content-Type: multipart/signed
    * !^Content-Type: multipart/encrypted
    | stripmultiparts --dir $HOME/Mail/MIME --keep --mutt -t alternative -t related -t mixed

or my current one:

    :0 fw
    *  ^Content-Type: multipart/
    * !^Content-Type: multipart/signed
    * !^Content-Type: multipart/encrypted
    | $HOME/perl/stripmultiparts --dir $HOME/Mail/MIME -k -m -t all --delempty -v