Provided by: nmh_1.7.1-6_amd64 bug

NAME

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

DESCRIPTION

       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.

SEE ALSO

       comp(1), iconv(3), mh-format(5) mhbuild(1), mhfixmsg(1), mhparam(1), nmh(7), repl(1), whatnow(1),
       /usr/share/doc/nmh/contrib/replyfilter,
       /usr/share/doc/nmh/contrib/replaliases

BUGS

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