@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1998, 1999, 2000 Free Software Foundation, Inc.
+Copyright @copyright{} 1998, 1999, 2000, 2001, 2002 Free Software
+Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
* Interface Functions:: An abstraction over the basic functions.
* Basic Functions:: Utility and basic parsing functions.
* Decoding and Viewing:: A framework for decoding and viewing.
-* Composing:: MML; a language for describing MIME parts.
+* Composing:: MML; a language for describing @sc{mime} parts.
* Standards:: A summary of RFCs and working documents used.
* Index:: Function and variable index.
@end menu
library, one must choose between the old version of the library and the
new version of the library.
-The Emacs MIME library takes a different tack. It defines a series of
-low-level libraries (@file{rfc2047.el}, @file{rfc2231.el} and so on)
-that parses strictly according to the corresponding standard. However,
-normal programs would not use the functions provided by these libraries
-directly, but instead use the functions provided by the
-@code{mail-parse} library. The functions in this library are just
-aliases to the corresponding functions in the latest low-level
-libraries. Using this scheme, programs get a consistent interface they
-can use, and library developers are free to create write code that
-handles new standards.
+The Emacs @sc{mime} library takes a different tack. It defines a
+series of low-level libraries (@file{rfc2047.el}, @file{rfc2231.el}
+and so on) that parses strictly according to the corresponding
+standard. However, normal programs would not use the functions
+provided by these libraries directly, but instead use the functions
+provided by the @code{mail-parse} library. The functions in this
+library are just aliases to the corresponding functions in the latest
+low-level libraries. Using this scheme, programs get a consistent
+interface they can use, and library developers are free to create
+write code that handles new standards.
The following functions are defined by this library:
@item mail-header-narrow-to-field
@findex mail-header-narrow-to-field
Narrow the buffer to the header under point. Understands continuation
-headers.
+headers.
@item mail-header-fold-field
@findex mail-header-fold-field
@item time-to-day-in-year
Take a time and return the day number within the year that the time is
-in.
+in.
@end table
@example
image/*; gimp -8 %s
audio/wav; wavplayer %s
+application/msword; catdoc %s ; copiousoutput ; nametemplate=%s.doc
@end example
-This says that all image files should be displayed with @code{gimp}, and
-that WAVE audio files should be played by @code{wavplayer}.
+This says that all image files should be displayed with @code{gimp},
+that WAVE audio files should be played by @code{wavplayer}, and that
+MS-WORD files should be inlined by @code{catdoc}.
The @code{mailcap} library parses this file, and provides functions for
matching types.
@node Non-MIME
@section Non-MIME
-Gnus also understands some non-MIME attachments, such as postscript,
-uuencode, binhex, shar, forward, gnatsweb, pgp. Each of these features
-can be disabled by add an item into @code{mm-uu-configure-list}.
-For example,
+Gnus also understands some non-@sc{mime} attachments, such as
+postscript, uuencode, binhex, shar, forward, gnatsweb, pgp. Each of
+these features can be disabled by add an item into
+@code{mm-uu-configure-list}. For example,
@lisp
(require 'mm-uu)
@item mm-inline-media-tests
This is an alist where the key is a @sc{mime} type, the second element
-is a function to display the part @dfn{inline} (i.e., inside Emacs), and
+is a function to display the part @dfn{inline} (i.e., inside Emacs), and
the third element is a form to be @code{eval}ed to say whether the part
can be displayed inline.
@item mm-attachment-override-types
Some @sc{mime} agents create parts that have a content-disposition of
-@samp{attachment}. This variable allows overriding that disposition and
+@samp{attachment}. This variable allows overriding that disposition and
displaying the part inline. (Note that the disposition is only
overridden if we are able to, and want to, display the part inline.)
includes @samp{text/.*}, then including @samp{text/html} in this
variable will cause @samp{text/html} parts to be treated as attachments.
+@item mm-inline-text-html-renderer
+This selects the function used to render @sc{html}. The predefined
+renderers are selected by the symbols @code{w3},
+@code{w3m}@footnote{See @uref{http://emacs-w3m.namazu.org/} for more
+information about emacs-w3m}, @code{links}, @code{lynx} or
+@code{html2text}. You can also specify a function, which will be
+called with a @sc{mime} handle as the argument.
+
+@item mm-inline-text-html-with-images
+Some @sc{html} mails might have the trick of spammers using
+@samp{<img>} tags. It is likely to be intended to verify whether you
+have read the mail. You can prevent your personal informations from
+leaking by setting this option to @code{nil} (which is the default).
+It is currently ignored by Emacs/w3. For emacs-w3m, you may use the
+command @kbd{t} on the image anchor to show an image even if it is
+@code{nil}.@footnote{The command @kbd{T} will load all images. If you
+have set the option @code{w3m-key-binding} to @code{info}, use @kbd{i}
+or @kbd{I} instead.}
+
+@item mm-inline-text-html-with-w3m-keymap
+You can use emacs-w3m command keys in the inlined text/html part by
+setting this option to non-@code{nil}. The default value is @code{t}.
+
@end table
@end lisp
We see that the function takes a @sc{mime} handle as its parameter. It
-then goes to a temporary buffer, inserts the text of the part, does some
+then goes to a temporary buffer, inserts the text of the part, does some
work on the text, stores the result, goes back to the buffer it was
called from and inserts the result.
* Simple MML Example:: An example MML document.
* MML Definition:: All valid MML elements.
* Advanced MML Example:: Another example MML document.
-* Charset Translation:: How charsets are mapped from @sc{mule} to MIME.
+* Charset Translation:: How charsets are mapped from @sc{mule} to @sc{mime}.
* Conversion:: Going from @sc{mime} to MML and vice versa.
* Flowed text:: Soft and hard newlines.
@end menu
@item read-date
RFC822 date when the part was read (@code{Content-Disposition}).
+@item recipients
+Who to encrypt/sign the part to. This field is used to override any
+auto-detection based on the To/CC headers.
+
@item size
The size (in octets) of the part (@code{Content-Disposition}).
variable directly, though. If you want to change the default charset,
please consult the documentation of the package which you use to process
@sc{mime} messages.
-@xref{Various Message Variables, , Various Message Variables, message,
+@xref{Various Message Variables, , Various Message Variables, message,
Message Manual}, for example.)
If there are only ASCII characters, the @sc{mime} charset US-ASCII is
used, of course.
Conformance Criteria and Examples
@item RFC2231
-MIME Parameter Value and Encoded Word Extensions: Character Sets,
+@sc{mime} Parameter Value and Encoded Word Extensions: Character Sets,
Languages, and Continuations
@item RFC1843
Draft for the successor of RFC822
@item RFC2112
-The MIME Multipart/Related Content-type
+The @sc{mime} Multipart/Related Content-type
@item RFC1892
The Multipart/Report Content Type for the Reporting of Mail System