# This is a sample mailcap file based on the sample mailcap file # contained in the metamail distribution (version 2.7) from Bellcore. # This sample is for a Unix system. Look at the original sample from # the metamail distribution for more ideas. This is a simplified version # to explain how it works with Pine. As of October, 1994, metamail was # available via anonymous ftp from the host thumper.bellcore.com in the # file /pub/nsb/mm2.7.tar.Z. # # Metamail is: # Copyright (c) 1991 Bell Communications Research, Inc. (Bellcore) # # Permission to use, copy, modify, and distribute this material # for any purpose and without fee is hereby granted, provided # that the above copyright notice and this permission notice # appear in all copies, and that the name of Bellcore not be # used in advertising or publicity pertaining to this # material without the specific, prior written permission # of an authorized representative of Bellcore. BELLCORE # MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY # OF THIS MATERIAL FOR ANY PURPOSE. IT IS PROVIDED "AS IS", # WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. # # The mailcap viewers are used by Pine when viewing pieces of a message # from within the attachment viewer. That is, you type the "V" command # when already viewing a message. # # Pine expects the mailcap file to be in /etc/mailcap on Unix systems. # Users may override or extend this with a .mailcap file in their home # directory. The contents of that will be combined with /etc/mailcap. # Users may override this standard Pine mailcap path # ("~/.mailcap:/etc/mailcap") by defining the environment variable # MAILCAPS to be equal to the colon separated path. # # On PC's (DOS or Windows) the file MAILCAP is searched for first in the # same directory where the user's PINERC is located and then in the same # directory where PINE.EXE is located. The first would be the user's personal # override file and the second the common file used by all users. Users # may override this location by defining the environment variable MAILCAPS # to be equal to the *semicolon* separated path. # # Pine does not use the "compose=" portion of mailcap entries (and doesn't # provide a general method of composing different types of messages). # Pine doesn't pay attention to "copiousoutput", but always pipes the output # to its standard scrolling text window if "needsterminal" is not set. # If "needsterminal" is set, then Pine sets the terminal or terminal window # back to the state it was in when Pine was started and lets the viewer run. # When the viewer finishes, Pine resets the terminal and redraws the screen. # If any user interaction with the viewer is required and the viewer runs # in the same terminal window as Pine, then "needsterminal" should be set. # The "test=" commands are used as defined in RFC1524, except that the # data file is not available to the test command. # # Since mailcap is only used from the attachment viewer, the message being # viewed will always be a single part, so "multipart" entries in mailcap have # no effect on Pine. Type "text/plain" with "charset=usascii" or charset # matching the character-set variable are intercepted and displayed by Pine # in the normal way, not displayed by a mailcap viewer. Besides those # exceptions just listed, all other types and subtypes are subject to # being displayed by a mailcap viewer. If no match is found for types text # or message, Pine will display them in its usual way. # # As a special case, the "image-viewer" variable from the pinerc file is # supported as if an extra entry for type image/* came first in the # personal mailcap file. That's for backwards compatibility. # # # The following line causes the xv program to be used to display all # image types if the DISPLAY variable is set (indicating the user is # using X). (xv is written by John Bradley, bradley@cis.upenn.edu. There # are also other X image viewer programs you could use, such as xloadimage.) image/*; xv %s; test=test -n "$DISPLAY" # The effect of the following is to send ALL audio subtypes to the # showaudio program. If possible, it would be desirable to also include # a test command that could decide whether or not the user could play audio. # That would be something like "test=can_do_audio %t". (Showaudio is a shell # script included in the metamail distribution.) audio/*; showaudio %s # (Showexternal is a shell script included in the metamail distribution.) message/external-body; showexternal %s %{access-type} %{name} \ %{site} %{directory} %{mode} %{server}; \ needsterminal; composetyped = extcompose %s; \ description="A reference to data stored in an external location" # If you have an interactive Postscript interpreter, you should think carefully # before replacing lpr with it in the following line, because PostScript # can be an enormous security hole. It is RELATIVELY harmless # when sent to the printer... application/postscript ; lpr %s \; echo SENT FILE TO PRINTER ;\ description="A Postscript File"; # unsafe alternative #application/postscript; gspreview %s ; test=test -n "$DISPLAY" # The following gives rudimentary capability for receiving # text mail in the ISO-8859-1 character set, which covers many European # languages, and the ISO-8859-8 character set, which includes Hebrew # Note that the pipe to tr ensures that the "ISO" is case-insensitive. # (This is also from metamail.) # #### However, they are commented out here as they use a "test" method #### that can cause malicious data in the message's charset parameter #### to get executed. A better alternative would be to replace the "test" #### command with a script that does a safer case-insensitive comparison. #text/plain; shownonascii iso-8859-8 %s; test=test "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = iso-8859-8 -a -n "$DISPLAY" ; copiousoutput #text/plain; shownonascii iso-8859-8 %s | more ; test=test "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = iso-8859-8; needsterminal #text/plain; shownonascii iso-8859-1 %s; test=test "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = iso-8859-1 -a -n "$DISPLAY" ; copiousoutput #text/plain; shownonascii iso-8859-1 %s | more ; test=test "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = iso-8859-1 ; needsterminal # The following displays Japanese text at sites where # the "kterm" program is installed: #text/plain; kterm -geometry +0+0 -e more %s /dev/null; \ test=test "`echo %{charset} | tr '[A-Z]' '[a-z]'`" = iso-2022-jp # This maps MPEG video data to the viewer 'mpeg_play'. # (Mpeg_play is part of the MPEG distribution from The Berkeley Plateau # Research Group and is available via anonymous ftp from toe.cs.berkeley.edu.) video/mpeg; mpeg_play %s ; test=test -n "$DISPLAY" # This maps all other types of video to the xanim viewer. (Xanim is written # by Mark Podlipec, podlipec@wellfleet.com.) video/*; xanim %s ; test=test -n "$DISPLAY" # The xdvi program display TeX dvi files on an X server. application/x-dvi; xdvi %s ; test=test -n "$DISPLAY" # Type octet-stream (binary) data can be displayed as a hex dump before # you decide whether or not you want to save it to a file. (Hd is just # a standard hex dump program. You could use "od" if you don't have an # "hd". Naive users may find the output from this entry confusing.) application/octet-stream; hd; copiousoutput; description="Hex dump of data"