Provided by: nmh_1.7.1-4_amd64 bug


       mh-mime - overview of nmh MIME message composition and display


       The  acronym MIME stands for Multipurpose Internet Mail Extensions, the format of Internet
       messages used to send multi-media content.  The nmh command  suite  has  support  for  the
       display  and  composition  of  MIME messages, but currently MIME support is not completely
       integrated into all tools.  This document provides an overview as to which  tools  support
       MIME message display, storage, and composition.

   Local Character Set Conversion
       All  of  the nmh commands convert non-native character sets to the local character set, as
       specified by the operating system locale settings.  See locale(1) for more details on  the
       environment  variables used to set the local character set.  Character set conversion will
       only take place if nmh was built with iconv(3) support.  See the mhparam(1) man  page  for
       how to determine whether your nmh installation includes iconv(3) support.

       Depending  on  the  source and target character set, it may not be possible to convert all
       characters to the local character set.  In this case a substitution character will be used
       for the characters that cannot be converted.

   Message Display
       The default format used by scan(1) will automatically decode MIME-encoded headers.  If you
       have a custom scan format, see the examples provided with the nmh distribution  (found  in
       the  “/etc/nmh”  directory)  and  mh-format(5)  for  details on how to make sure your MIME
       headers are properly decoded.

       By default, if show detects that it is reading a MIME message it  will  invoke  mhshow(1).
       The  default  behavior  of  mhshow  is  to  only display text parts that are not marked as
       attachments.  See mhshow(1) for details on how to control what mhshow will display.

   Message Interrogation and Storage
       The mhlist(1) command will display a listing of the MIME parts contained within a message.
       That  information  can  be used in conjunction with the mhstore command to save individual
       parts or content types of a message.  See mhlist(1) and mhstore(1) for more details on how
       these commands work.

   Message Composition and Reply
       All  messages  sent  by send(1) will automatically be processed by mhbuild(1) before being
       passed to post(1) for message submission.  mhbuild will use the locale  settings  to  mark
       text  content with the appropriate character set and apply any necessary encoding.  If you
       wish to include text in your message using a  character  set  that  does  not  match  your
       locale,  you  will  need  to  specify  the  character  set using an mhbuild directive; see
       mhbuild(1) for more information.

       For attaching files or composing other non-text content, there are two options: the attach
       system and mhbuild directives.

       The attach system is best suited for content where one or more files are being attached to
       a message.  You can use the attach system by either using the attach command at the  “What
       now?” prompt, or by inserting an “Attach:” header in the message draft containing the name
       of the file you wish to attach to the message (note that all the attach  command  does  is
       place  an “Attach:” header in the message draft).  mhbuild will then automatically include
       the specified file(s) in the outgoing message.  See send(1) for  details  on  how  mhbuild
       determines the proper content type of attached files.

       The  other  method  of  composing MIME messages is to use mhbuild directives.  This allows
       exact control over the contents and format of the MIME message, but has a more complicated
       syntax.   mhbuild(1)  contains  details on the directive syntax and examples of directives
       for different media types.  It is important to note that when using mhbuild directives the
       user  must  run  mhbuild  outside of send to have it process directives; when being run by
       send, mhbuild is configured to not process directives so normal user text is not  mistaken
       for  a  directive.   When  using  directives a user typically uses the mime command at the
       “What now?” prompt to process them.

       When replying to messages using  repl(1)  the  traditional  MH  method  of  including  the
       original  text  in  the  reply does not interoperate with MIME messages.  The -convertargs
       switch to repl(1)  provides  one  solution.   Another  solution:   the  contrib  directory
       (/usr/share/doc/nmh/contrib)  contains a Perl program called replyfilter which will decode
       text parts and present them in an appropriate manner to be included in  a  message  reply.
       See  the  comments  at  the top of replyfilter for instructions on how to configure nmh to
       work with it.

   Message Rewrite
       The mhfixmsg(1) command can apply various  transformations  to  MIME  messages,  including
       decoding  of  text  parts,  converting  the  character set of text parts, and insertion of
       text/plain parts to correspond to text parts of other subtypes.  mhfixmsg can also  repair
       defects  in  MIME  messages,  such as mismatched top-level boundary indicators and invalid
       Content-Transfer-Encoding values.


       comp(1), iconv(3), mh-format(5)  mhbuild(1),  mhfixmsg(1),  mhparam(1),  nmh(7),  repl(1),


       MIME support should be more integrated into all of the nmh tools than it currently is.