4.12 mailcap

The ~/.mailcap file is parsed by most MIME-aware message handlers and describes how elements are supposed to be displayed. Here’s an example file:

image/*; gimp -8 %s
audio/wav; wavplayer %s
application/msword; catdoc %s ; copiousoutput ; nametemplate=%s.doc

This says that all image files should be displayed with gimp, that WAVE audio files should be played by wavplayer, and that MS-WORD files should be inlined by catdoc.

The mailcap library parses this file, and provides functions for matching types.


This variable is an alist of alists containing backup viewing rules.


A customizable list of viewers that take preference over mailcap-mime-data.

Interface functions:


Prompt for a file name, and start a viewer applicable for the file type in question.


Parse the ~/.mailcap file.


Takes a MIME type as its argument and returns the matching viewer.

The mailcap-prefer-mailcap-viewers variable controls which viewer is chosen. The default non-nil value means that settings from ~/.mailcap is preferred over system-wide or Emacs-provided viewer settings.

If nil, Emacs-provided viewer settings have precedence. Next, the most specific viewer has precedence over less specific settings, no matter if they’re system-provided or private, so ‘image/gif’ in /etc/mailcap will “win” over an ‘image/*’ setting in ~/.mailcap.