1348 lines
50 KiB
Plaintext
1348 lines
50 KiB
Plaintext
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Network Working Group N. Freed
|
|||
|
Request for Comments: 2049 Innosoft
|
|||
|
Obsoletes: 1521, 1522, 1590 N. Borenstein
|
|||
|
Category: Standards Track First Virtual
|
|||
|
November 1996
|
|||
|
|
|||
|
|
|||
|
Multipurpose Internet Mail Extensions
|
|||
|
(MIME) Part Five:
|
|||
|
Conformance Criteria and Examples
|
|||
|
|
|||
|
Status of this Memo
|
|||
|
|
|||
|
This document specifies an Internet standards track protocol for the
|
|||
|
Internet community, and requests discussion and suggestions for
|
|||
|
improvements. Please refer to the current edition of the "Internet
|
|||
|
Official Protocol Standards" (STD 1) for the standardization state
|
|||
|
and status of this protocol. Distribution of this memo is unlimited.
|
|||
|
|
|||
|
Abstract
|
|||
|
|
|||
|
STD 11, RFC 822, defines a message representation protocol specifying
|
|||
|
considerable detail about US-ASCII message headers, and leaves the
|
|||
|
message content, or message body, as flat US-ASCII text. This set of
|
|||
|
documents, collectively called the Multipurpose Internet Mail
|
|||
|
Extensions, or MIME, redefines the format of messages to allow for
|
|||
|
|
|||
|
(1) textual message bodies in character sets other than
|
|||
|
US-ASCII,
|
|||
|
|
|||
|
(2) an extensible set of different formats for non-textual
|
|||
|
message bodies,
|
|||
|
|
|||
|
(3) multi-part message bodies, and
|
|||
|
|
|||
|
(4) textual header information in character sets other than
|
|||
|
US-ASCII.
|
|||
|
|
|||
|
These documents are based on earlier work documented in RFC 934, STD
|
|||
|
11, and RFC 1049, but extends and revises them. Because RFC 822 said
|
|||
|
so little about message bodies, these documents are largely
|
|||
|
orthogonal to (rather than a revision of) RFC 822.
|
|||
|
|
|||
|
The initial document in this set, RFC 2045, specifies the various
|
|||
|
headers used to describe the structure of MIME messages. The second
|
|||
|
document defines the general structure of the MIME media typing
|
|||
|
system and defines an initial set of media types. The third
|
|||
|
document, RFC 2047, describes extensions to RFC 822 to allow non-US-
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 1]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
ASCII text data in Internet mail header fields. The fourth document,
|
|||
|
RFC 2048, specifies various IANA registration procedures for MIME-
|
|||
|
related facilities. This fifth and final document describes MIME
|
|||
|
conformance criteria as well as providing some illustrative examples
|
|||
|
of MIME message formats, acknowledgements, and the bibliography.
|
|||
|
|
|||
|
These documents are revisions of RFCs 1521, 1522, and 1590, which
|
|||
|
themselves were revisions of RFCs 1341 and 1342. Appendix B of this
|
|||
|
document describes differences and changes from previous versions.
|
|||
|
|
|||
|
Table of Contents
|
|||
|
|
|||
|
1. Introduction .......................................... 2
|
|||
|
2. MIME Conformance ...................................... 2
|
|||
|
3. Guidelines for Sending Email Data ..................... 6
|
|||
|
4. Canonical Encoding Model .............................. 9
|
|||
|
5. Summary ............................................... 12
|
|||
|
6. Security Considerations ............................... 12
|
|||
|
7. Authors' Addresses .................................... 12
|
|||
|
8. Acknowledgements ...................................... 13
|
|||
|
A. A Complex Multipart Example ........................... 15
|
|||
|
B. Changes from RFC 1521, 1522, and 1590 ................. 16
|
|||
|
C. References ............................................ 20
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
The first and second documents in this set define MIME header fields
|
|||
|
and the initial set of MIME media types. The third document
|
|||
|
describes extensions to RFC822 formats to allow for character sets
|
|||
|
other than US-ASCII. This document describes what portions of MIME
|
|||
|
must be supported by a conformant MIME implementation. It also
|
|||
|
describes various pitfalls of contemporary messaging systems as well
|
|||
|
as the canonical encoding model MIME is based on.
|
|||
|
|
|||
|
2. MIME Conformance
|
|||
|
|
|||
|
The mechanisms described in these documents are open-ended. It is
|
|||
|
definitely not expected that all implementations will support all
|
|||
|
available media types, nor that they will all share the same
|
|||
|
extensions. In order to promote interoperability, however, it is
|
|||
|
useful to define the concept of "MIME-conformance" to define a
|
|||
|
certain level of implementation that allows the useful interworking
|
|||
|
of messages with content that differs from US-ASCII text. In this
|
|||
|
section, we specify the requirements for such conformance.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 2]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
A mail user agent that is MIME-conformant MUST:
|
|||
|
|
|||
|
(1) Always generate a "MIME-Version: 1.0" header field in
|
|||
|
any message it creates.
|
|||
|
|
|||
|
(2) Recognize the Content-Transfer-Encoding header field
|
|||
|
and decode all received data encoded by either quoted-
|
|||
|
printable or base64 implementations. The identity
|
|||
|
transformations 7bit, 8bit, and binary must also be
|
|||
|
recognized.
|
|||
|
|
|||
|
Any non-7bit data that is sent without encoding must be
|
|||
|
properly labelled with a content-transfer-encoding of
|
|||
|
8bit or binary, as appropriate. If the underlying
|
|||
|
transport does not support 8bit or binary (as SMTP
|
|||
|
[RFC-821] does not), the sender is required to both
|
|||
|
encode and label data using an appropriate Content-
|
|||
|
Transfer-Encoding such as quoted-printable or base64.
|
|||
|
|
|||
|
(3) Must treat any unrecognized Content-Transfer-Encoding
|
|||
|
as if it had a Content-Type of "application/octet-
|
|||
|
stream", regardless of whether or not the actual
|
|||
|
Content-Type is recognized.
|
|||
|
|
|||
|
(4) Recognize and interpret the Content-Type header field,
|
|||
|
and avoid showing users raw data with a Content-Type
|
|||
|
field other than text. Implementations must be able
|
|||
|
to send at least text/plain messages, with the
|
|||
|
character set specified with the charset parameter if
|
|||
|
it is not US-ASCII.
|
|||
|
|
|||
|
(5) Ignore any content type parameters whose names they do
|
|||
|
not recognize.
|
|||
|
|
|||
|
(6) Explicitly handle the following media type values, to
|
|||
|
at least the following extents:
|
|||
|
|
|||
|
Text:
|
|||
|
|
|||
|
-- Recognize and display "text" mail with the
|
|||
|
character set "US-ASCII."
|
|||
|
|
|||
|
-- Recognize other character sets at least to the
|
|||
|
extent of being able to inform the user about what
|
|||
|
character set the message uses.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 3]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
-- Recognize the "ISO-8859-*" character sets to the
|
|||
|
extent of being able to display those characters that
|
|||
|
are common to ISO-8859-* and US-ASCII, namely all
|
|||
|
characters represented by octet values 1-127.
|
|||
|
|
|||
|
-- For unrecognized subtypes in a known character
|
|||
|
set, show or offer to show the user the "raw" version
|
|||
|
of the data after conversion of the content from
|
|||
|
canonical form to local form.
|
|||
|
|
|||
|
-- Treat material in an unknown character set as if
|
|||
|
it were "application/octet-stream".
|
|||
|
|
|||
|
Image, audio, and video:
|
|||
|
|
|||
|
-- At a minumum provide facilities to treat any
|
|||
|
unrecognized subtypes as if they were
|
|||
|
"application/octet-stream".
|
|||
|
|
|||
|
Application:
|
|||
|
|
|||
|
-- Offer the ability to remove either of the quoted-
|
|||
|
printable or base64 encodings defined in this
|
|||
|
document if they were used and put the resulting
|
|||
|
information in a user file.
|
|||
|
|
|||
|
Multipart:
|
|||
|
|
|||
|
-- Recognize the mixed subtype. Display all relevant
|
|||
|
information on the message level and the body part
|
|||
|
header level and then display or offer to display
|
|||
|
each of the body parts individually.
|
|||
|
|
|||
|
-- Recognize the "alternative" subtype, and avoid
|
|||
|
showing the user redundant parts of
|
|||
|
multipart/alternative mail.
|
|||
|
|
|||
|
-- Recognize the "multipart/digest" subtype,
|
|||
|
specifically using "message/rfc822" rather than
|
|||
|
"text/plain" as the default media type for body parts
|
|||
|
inside "multipart/digest" entities.
|
|||
|
|
|||
|
-- Treat any unrecognized subtypes as if they were
|
|||
|
"mixed".
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 4]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
Message:
|
|||
|
|
|||
|
-- Recognize and display at least the RFC822 message
|
|||
|
encapsulation (message/rfc822) in such a way as to
|
|||
|
preserve any recursive structure, that is, displaying
|
|||
|
or offering to display the encapsulated data in
|
|||
|
accordance with its media type.
|
|||
|
|
|||
|
-- Treat any unrecognized subtypes as if they were
|
|||
|
"application/octet-stream".
|
|||
|
|
|||
|
(7) Upon encountering any unrecognized Content-Type field,
|
|||
|
an implementation must treat it as if it had a media
|
|||
|
type of "application/octet-stream" with no parameter
|
|||
|
sub-arguments. How such data are handled is up to an
|
|||
|
implementation, but likely options for handling such
|
|||
|
unrecognized data include offering the user to write it
|
|||
|
into a file (decoded from its mail transport format) or
|
|||
|
offering the user to name a program to which the
|
|||
|
decoded data should be passed as input.
|
|||
|
|
|||
|
(8) Conformant user agents are required, if they provide
|
|||
|
non-standard support for non-MIME messages employing
|
|||
|
character sets other than US-ASCII, to do so on
|
|||
|
received messages only. Conforming user agents must not
|
|||
|
send non-MIME messages containing anything other than
|
|||
|
US-ASCII text.
|
|||
|
|
|||
|
In particular, the use of non-US-ASCII text in mail
|
|||
|
messages without a MIME-Version field is strongly
|
|||
|
discouraged as it impedes interoperability when sending
|
|||
|
messages between regions with different localization
|
|||
|
conventions. Conforming user agents MUST include proper
|
|||
|
MIME labelling when sending anything other than plain
|
|||
|
text in the US-ASCII character set.
|
|||
|
|
|||
|
In addition, non-MIME user agents should be upgraded if
|
|||
|
at all possible to include appropriate MIME header
|
|||
|
information in the messages they send even if nothing
|
|||
|
else in MIME is supported. This upgrade will have
|
|||
|
little, if any, effect on non-MIME recipients and will
|
|||
|
aid MIME in correctly displaying such messages. It
|
|||
|
also provides a smooth transition path to eventual
|
|||
|
adoption of other MIME capabilities.
|
|||
|
|
|||
|
(9) Conforming user agents must ensure that any string of
|
|||
|
non-white-space printable US-ASCII characters within a
|
|||
|
"*text" or "*ctext" that begins with "=?" and ends with
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 5]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
"?=" be a valid encoded-word. ("begins" means: At the
|
|||
|
start of the field-body or immediately following
|
|||
|
linear-white-space; "ends" means: At the end of the
|
|||
|
field-body or immediately preceding linear-white-
|
|||
|
space.) In addition, any "word" within a "phrase" that
|
|||
|
begins with "=?" and ends with "?=" must be a valid
|
|||
|
encoded-word.
|
|||
|
|
|||
|
(10) Conforming user agents must be able to distinguish
|
|||
|
encoded-words from "text", "ctext", or "word"s,
|
|||
|
according to the rules in section 4, anytime they
|
|||
|
appear in appropriate places in message headers. It
|
|||
|
must support both the "B" and "Q" encodings for any
|
|||
|
character set which it supports. The program must be
|
|||
|
able to display the unencoded text if the character set
|
|||
|
is "US-ASCII". For the ISO-8859-* character sets, the
|
|||
|
mail reading program must at least be able to display
|
|||
|
the characters which are also in the US-ASCII set.
|
|||
|
|
|||
|
A user agent that meets the above conditions is said to be MIME-
|
|||
|
conformant. The meaning of this phrase is that it is assumed to be
|
|||
|
"safe" to send virtually any kind of properly-marked data to users of
|
|||
|
such mail systems, because such systems will at least be able to
|
|||
|
treat the data as undifferentiated binary, and will not simply splash
|
|||
|
it onto the screen of unsuspecting users.
|
|||
|
|
|||
|
There is another sense in which it is always "safe" to send data in a
|
|||
|
format that is MIME-conformant, which is that such data will not
|
|||
|
break or be broken by any known systems that are conformant with RFC
|
|||
|
821 and RFC 822. User agents that are MIME-conformant have the
|
|||
|
additional guarantee that the user will not be shown data that were
|
|||
|
never intended to be viewed as text.
|
|||
|
|
|||
|
3. Guidelines for Sending Email Data
|
|||
|
|
|||
|
Internet email is not a perfect, homogeneous system. Mail may become
|
|||
|
corrupted at several stages in its travel to a final destination.
|
|||
|
Specifically, email sent throughout the Internet may travel across
|
|||
|
many networking technologies. Many networking and mail technologies
|
|||
|
do not support the full functionality possible in the SMTP transport
|
|||
|
environment. Mail traversing these systems is likely to be modified
|
|||
|
in order that it can be transported.
|
|||
|
|
|||
|
There exist many widely-deployed non-conformant MTAs in the Internet.
|
|||
|
These MTAs, speaking the SMTP protocol, alter messages on the fly to
|
|||
|
take advantage of the internal data structure of the hosts they are
|
|||
|
implemented on, or are just plain broken.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 6]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
The following guidelines may be useful to anyone devising a data
|
|||
|
format (media type) that is supposed to survive the widest range of
|
|||
|
networking technologies and known broken MTAs unscathed. Note that
|
|||
|
anything encoded in the base64 encoding will satisfy these rules, but
|
|||
|
that some well-known mechanisms, notably the UNIX uuencode facility,
|
|||
|
will not. Note also that anything encoded in the Quoted-Printable
|
|||
|
encoding will survive most gateways intact, but possibly not some
|
|||
|
gateways to systems that use the EBCDIC character set.
|
|||
|
|
|||
|
(1) Under some circumstances the encoding used for data may
|
|||
|
change as part of normal gateway or user agent
|
|||
|
operation. In particular, conversion from base64 to
|
|||
|
quoted-printable and vice versa may be necessary. This
|
|||
|
may result in the confusion of CRLF sequences with line
|
|||
|
breaks in text bodies. As such, the persistence of
|
|||
|
CRLF as something other than a line break must not be
|
|||
|
relied on.
|
|||
|
|
|||
|
(2) Many systems may elect to represent and store text data
|
|||
|
using local newline conventions. Local newline
|
|||
|
conventions may not match the RFC822 CRLF convention --
|
|||
|
systems are known that use plain CR, plain LF, CRLF, or
|
|||
|
counted records. The result is that isolated CR and LF
|
|||
|
characters are not well tolerated in general; they may
|
|||
|
be lost or converted to delimiters on some systems, and
|
|||
|
hence must not be relied on.
|
|||
|
|
|||
|
(3) The transmission of NULs (US-ASCII value 0) is
|
|||
|
problematic in Internet mail. (This is largely the
|
|||
|
result of NULs being used as a termination character by
|
|||
|
many of the standard runtime library routines in the C
|
|||
|
programming language.) The practice of using NULs as
|
|||
|
termination characters is so entrenched now that
|
|||
|
messages should not rely on them being preserved.
|
|||
|
|
|||
|
(4) TAB (HT) characters may be misinterpreted or may be
|
|||
|
automatically converted to variable numbers of spaces.
|
|||
|
This is unavoidable in some environments, notably those
|
|||
|
not based on the US-ASCII character set. Such
|
|||
|
conversion is STRONGLY DISCOURAGED, but it may occur,
|
|||
|
and mail formats must not rely on the persistence of
|
|||
|
TAB (HT) characters.
|
|||
|
|
|||
|
(5) Lines longer than 76 characters may be wrapped or
|
|||
|
truncated in some environments. Line wrapping or line
|
|||
|
truncation imposed by mail transports is STRONGLY
|
|||
|
DISCOURAGED, but unavoidable in some cases.
|
|||
|
Applications which require long lines must somehow
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 7]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
differentiate between soft and hard line breaks. (A
|
|||
|
simple way to do this is to use the quoted-printable
|
|||
|
encoding.)
|
|||
|
|
|||
|
(6) Trailing "white space" characters (SPACE, TAB (HT)) on
|
|||
|
a line may be discarded by some transport agents, while
|
|||
|
other transport agents may pad lines with these
|
|||
|
characters so that all lines in a mail file are of
|
|||
|
equal length. The persistence of trailing white space,
|
|||
|
therefore, must not be relied on.
|
|||
|
|
|||
|
(7) Many mail domains use variations on the US-ASCII
|
|||
|
character set, or use character sets such as EBCDIC
|
|||
|
which contain most but not all of the US-ASCII
|
|||
|
characters. The correct translation of characters not
|
|||
|
in the "invariant" set cannot be depended on across
|
|||
|
character converting gateways. For example, this
|
|||
|
situation is a problem when sending uuencoded
|
|||
|
information across BITNET, an EBCDIC system. Similar
|
|||
|
problems can occur without crossing a gateway, since
|
|||
|
many Internet hosts use character sets other than US-
|
|||
|
ASCII internally. The definition of Printable Strings
|
|||
|
in X.400 adds further restrictions in certain special
|
|||
|
cases. In particular, the only characters that are
|
|||
|
known to be consistent across all gateways are the 73
|
|||
|
characters that correspond to the upper and lower case
|
|||
|
letters A-Z and a-z, the 10 digits 0-9, and the
|
|||
|
following eleven special characters:
|
|||
|
|
|||
|
"'" (US-ASCII decimal value 39)
|
|||
|
"(" (US-ASCII decimal value 40)
|
|||
|
")" (US-ASCII decimal value 41)
|
|||
|
"+" (US-ASCII decimal value 43)
|
|||
|
"," (US-ASCII decimal value 44)
|
|||
|
"-" (US-ASCII decimal value 45)
|
|||
|
"." (US-ASCII decimal value 46)
|
|||
|
"/" (US-ASCII decimal value 47)
|
|||
|
":" (US-ASCII decimal value 58)
|
|||
|
"=" (US-ASCII decimal value 61)
|
|||
|
"?" (US-ASCII decimal value 63)
|
|||
|
|
|||
|
A maximally portable mail representation will confine
|
|||
|
itself to relatively short lines of text in which the
|
|||
|
only meaningful characters are taken from this set of
|
|||
|
73 characters. The base64 encoding follows this rule.
|
|||
|
|
|||
|
(8) Some mail transport agents will corrupt data that
|
|||
|
includes certain literal strings. In particular, a
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 8]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
period (".") alone on a line is known to be corrupted
|
|||
|
by some (incorrect) SMTP implementations, and a line
|
|||
|
that starts with the five characters "From " (the fifth
|
|||
|
character is a SPACE) are commonly corrupted as well.
|
|||
|
A careful composition agent can prevent these
|
|||
|
corruptions by encoding the data (e.g., in the quoted-
|
|||
|
printable encoding using "=46rom " in place of "From "
|
|||
|
at the start of a line, and "=2E" in place of "." alone
|
|||
|
on a line).
|
|||
|
|
|||
|
Please note that the above list is NOT a list of recommended
|
|||
|
practices for MTAs. RFC 821 MTAs are prohibited from altering the
|
|||
|
character of white space or wrapping long lines. These BAD and
|
|||
|
invalid practices are known to occur on established networks, and
|
|||
|
implementations should be robust in dealing with the bad effects they
|
|||
|
can cause.
|
|||
|
|
|||
|
4. Canonical Encoding Model
|
|||
|
|
|||
|
There was some confusion, in earlier versions of these documents,
|
|||
|
regarding the model for when email data was to be converted to
|
|||
|
canonical form and encoded, and in particular how this process would
|
|||
|
affect the treatment of CRLFs, given that the representation of
|
|||
|
newlines varies greatly from system to system. For this reason, a
|
|||
|
canonical model for encoding is presented below.
|
|||
|
|
|||
|
The process of composing a MIME entity can be modeled as being done
|
|||
|
in a number of steps. Note that these steps are roughly similar to
|
|||
|
those steps used in PEM [RFC-1421] and are performed for each
|
|||
|
"innermost level" body:
|
|||
|
|
|||
|
(1) Creation of local form.
|
|||
|
|
|||
|
The body to be transmitted is created in the system's
|
|||
|
native format. The native character set is used and,
|
|||
|
where appropriate, local end of line conventions are
|
|||
|
used as well. The body may be a UNIX-style text file,
|
|||
|
or a Sun raster image, or a VMS indexed file, or audio
|
|||
|
data in a system-dependent format stored only in
|
|||
|
memory, or anything else that corresponds to the local
|
|||
|
model for the representation of some form of
|
|||
|
information. Fundamentally, the data is created in the
|
|||
|
"native" form that corresponds to the type specified by
|
|||
|
the media type.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 9]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
(2) Conversion to canonical form.
|
|||
|
|
|||
|
The entire body, including "out-of-band" information
|
|||
|
such as record lengths and possibly file attribute
|
|||
|
information, is converted to a universal canonical
|
|||
|
form. The specific media type of the body as well as
|
|||
|
its associated attributes dictate the nature of the
|
|||
|
canonical form that is used. Conversion to the proper
|
|||
|
canonical form may involve character set conversion,
|
|||
|
transformation of audio data, compression, or various
|
|||
|
other operations specific to the various media types.
|
|||
|
If character set conversion is involved, however, care
|
|||
|
must be taken to understand the semantics of the media
|
|||
|
type, which may have strong implications for any
|
|||
|
character set conversion, e.g. with regard to
|
|||
|
syntactically meaningful characters in a text subtype
|
|||
|
other than "plain".
|
|||
|
|
|||
|
For example, in the case of text/plain data, the text
|
|||
|
must be converted to a supported character set and
|
|||
|
lines must be delimited with CRLF delimiters in
|
|||
|
accordance with RFC 822. Note that the restriction on
|
|||
|
line lengths implied by RFC 822 is eliminated if the
|
|||
|
next step employs either quoted-printable or base64
|
|||
|
encoding.
|
|||
|
|
|||
|
(3) Apply transfer encoding.
|
|||
|
|
|||
|
A Content-Transfer-Encoding appropriate for this body
|
|||
|
is applied. Note that there is no fixed relationship
|
|||
|
between the media type and the transfer encoding. In
|
|||
|
particular, it may be appropriate to base the choice of
|
|||
|
base64 or quoted-printable on character frequency
|
|||
|
counts which are specific to a given instance of a
|
|||
|
body.
|
|||
|
|
|||
|
(4) Insertion into entity.
|
|||
|
|
|||
|
The encoded body is inserted into a MIME entity with
|
|||
|
appropriate headers. The entity is then inserted into
|
|||
|
the body of a higher-level entity (message or
|
|||
|
multipart) as needed.
|
|||
|
|
|||
|
Conversion from entity form to local form is accomplished by
|
|||
|
reversing these steps. Note that reversal of these steps may produce
|
|||
|
differing results since there is no guarantee that the original and
|
|||
|
final local forms are the same.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 10]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
It is vital to note that these steps are only a model; they are
|
|||
|
specifically NOT a blueprint for how an actual system would be built.
|
|||
|
In particular, the model fails to account for two common designs:
|
|||
|
|
|||
|
(1) In many cases the conversion to a canonical form prior
|
|||
|
to encoding will be subsumed into the encoder itself,
|
|||
|
which understands local formats directly. For example,
|
|||
|
the local newline convention for text bodies might be
|
|||
|
carried through to the encoder itself along with
|
|||
|
knowledge of what that format is.
|
|||
|
|
|||
|
(2) The output of the encoders may have to pass through one
|
|||
|
or more additional steps prior to being transmitted as
|
|||
|
a message. As such, the output of the encoder may not
|
|||
|
be conformant with the formats specified by RFC 822.
|
|||
|
In particular, once again it may be appropriate for the
|
|||
|
converter's output to be expressed using local newline
|
|||
|
conventions rather than using the standard RFC 822 CRLF
|
|||
|
delimiters.
|
|||
|
|
|||
|
Other implementation variations are conceivable as well. The vital
|
|||
|
aspect of this discussion is that, in spite of any optimizations,
|
|||
|
collapsings of required steps, or insertion of additional processing,
|
|||
|
the resulting messages must be consistent with those produced by the
|
|||
|
model described here. For example, a message with the following
|
|||
|
header fields:
|
|||
|
|
|||
|
Content-type: text/foo; charset=bar
|
|||
|
Content-Transfer-Encoding: base64
|
|||
|
|
|||
|
must be first represented in the text/foo form, then (if necessary)
|
|||
|
represented in the "bar" character set, and finally transformed via
|
|||
|
the base64 algorithm into a mail-safe form.
|
|||
|
|
|||
|
NOTE: Some confusion has been caused by systems that represent
|
|||
|
messages in a format which uses local newline conventions which
|
|||
|
differ from the RFC822 CRLF convention. It is important to note that
|
|||
|
these formats are not canonical RFC822/MIME. These formats are
|
|||
|
instead *encodings* of RFC822, where CRLF sequences in the canonical
|
|||
|
representation of the message are encoded as the local newline
|
|||
|
convention. Note that formats which encode CRLF sequences as, for
|
|||
|
example, LF are not capable of representing MIME messages containing
|
|||
|
binary data which contains LF octets not part of CRLF line separation
|
|||
|
sequences.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 11]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
5. Summary
|
|||
|
|
|||
|
This document defines what is meant by MIME Conformance. It also
|
|||
|
details various problems known to exist in the Internet email system
|
|||
|
and how to use MIME to overcome them. Finally, it describes MIME's
|
|||
|
canonical encoding model.
|
|||
|
|
|||
|
6. Security Considerations
|
|||
|
|
|||
|
Security issues are discussed in the second document in this set, RFC
|
|||
|
2046.
|
|||
|
|
|||
|
7. Authors' Addresses
|
|||
|
|
|||
|
For more information, the authors of this document are best contacted
|
|||
|
via Internet mail:
|
|||
|
|
|||
|
Ned Freed
|
|||
|
Innosoft International, Inc.
|
|||
|
1050 East Garvey Avenue South
|
|||
|
West Covina, CA 91790
|
|||
|
USA
|
|||
|
|
|||
|
Phone: +1 818 919 3600
|
|||
|
Fax: +1 818 919 3614
|
|||
|
EMail: ned@innosoft.com
|
|||
|
|
|||
|
Nathaniel S. Borenstein
|
|||
|
First Virtual Holdings
|
|||
|
25 Washington Avenue
|
|||
|
Morristown, NJ 07960
|
|||
|
USA
|
|||
|
|
|||
|
Phone: +1 201 540 8967
|
|||
|
Fax: +1 201 993 3032
|
|||
|
EMail: nsb@nsb.fv.com
|
|||
|
|
|||
|
MIME is a result of the work of the Internet Engineering Task Force
|
|||
|
Working Group on RFC 822 Extensions. The chairman of that group,
|
|||
|
Greg Vaudreuil, may be reached at:
|
|||
|
|
|||
|
Gregory M. Vaudreuil
|
|||
|
Octel Network Services
|
|||
|
17080 Dallas Parkway
|
|||
|
Dallas, TX 75248-1905
|
|||
|
USA
|
|||
|
|
|||
|
EMail: Greg.Vaudreuil@Octel.Com
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 12]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
8. Acknowledgements
|
|||
|
|
|||
|
This document is the result of the collective effort of a large
|
|||
|
number of people, at several IETF meetings, on the IETF-SMTP and
|
|||
|
IETF-822 mailing lists, and elsewhere. Although any enumeration
|
|||
|
seems doomed to suffer from egregious omissions, the following are
|
|||
|
among the many contributors to this effort:
|
|||
|
|
|||
|
Harald Tveit Alvestrand Marc Andreessen
|
|||
|
Randall Atkinson Bob Braden
|
|||
|
Philippe Brandon Brian Capouch
|
|||
|
Kevin Carosso Uhhyung Choi
|
|||
|
Peter Clitherow Dave Collier-Brown
|
|||
|
Cristian Constantinof John Coonrod
|
|||
|
Mark Crispin Dave Crocker
|
|||
|
Stephen Crocker Terry Crowley
|
|||
|
Walt Daniels Jim Davis
|
|||
|
Frank Dawson Axel Deininger
|
|||
|
Hitoshi Doi Kevin Donnelly
|
|||
|
Steve Dorner Keith Edwards
|
|||
|
Chris Eich Dana S. Emery
|
|||
|
Johnny Eriksson Craig Everhart
|
|||
|
Patrik Faltstrom Erik E. Fair
|
|||
|
Roger Fajman Alain Fontaine
|
|||
|
Martin Forssen James M. Galvin
|
|||
|
Stephen Gildea Philip Gladstone
|
|||
|
Thomas Gordon Keld Simonsen
|
|||
|
Terry Gray Phill Gross
|
|||
|
James Hamilton David Herron
|
|||
|
Mark Horton Bruce Howard
|
|||
|
Bill Janssen Olle Jarnefors
|
|||
|
Risto Kankkunen Phil Karn
|
|||
|
Alan Katz Tim Kehres
|
|||
|
Neil Katin Steve Kille
|
|||
|
Kyuho Kim Anders Klemets
|
|||
|
John Klensin Valdis Kletniek
|
|||
|
Jim Knowles Stev Knowles
|
|||
|
Bob Kummerfeld Pekka Kytolaakso
|
|||
|
Stellan Lagerstrom Vincent Lau
|
|||
|
Timo Lehtinen Donald Lindsay
|
|||
|
Warner Losh Carlyn Lowery
|
|||
|
Laurence Lundblade Charles Lynn
|
|||
|
John R. MacMillan Larry Masinter
|
|||
|
Rick McGowan Michael J. McInerny
|
|||
|
Leo Mclaughlin Goli Montaser-Kohsari
|
|||
|
Tom Moore John Gardiner Myers
|
|||
|
Erik Naggum Mark Needleman
|
|||
|
Chris Newman John Noerenberg
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 13]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
Mats Ohrman Julian Onions
|
|||
|
Michael Patton David J. Pepper
|
|||
|
Erik van der Poel Blake C. Ramsdell
|
|||
|
Christer Romson Luc Rooijakkers
|
|||
|
Marshall T. Rose Jonathan Rosenberg
|
|||
|
Guido van Rossum Jan Rynning
|
|||
|
Harri Salminen Michael Sanderson
|
|||
|
Yutaka Sato Markku Savela
|
|||
|
Richard Alan Schafer Masahiro Sekiguchi
|
|||
|
Mark Sherman Bob Smart
|
|||
|
Peter Speck Henry Spencer
|
|||
|
Einar Stefferud Michael Stein
|
|||
|
Klaus Steinberger Peter Svanberg
|
|||
|
James Thompson Steve Uhler
|
|||
|
Stuart Vance Peter Vanderbilt
|
|||
|
Greg Vaudreuil Ed Vielmetti
|
|||
|
Larry W. Virden Ryan Waldron
|
|||
|
Rhys Weatherly Jay Weber
|
|||
|
Dave Wecker Wally Wedel
|
|||
|
Sven-Ove Westberg Brian Wideen
|
|||
|
John Wobus Glenn Wright
|
|||
|
Rayan Zachariassen David Zimmerman
|
|||
|
|
|||
|
The authors apologize for any omissions from this list, which are
|
|||
|
certainly unintentional.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 14]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
Appendix A -- A Complex Multipart Example
|
|||
|
|
|||
|
What follows is the outline of a complex multipart message. This
|
|||
|
message contains five parts that are to be displayed serially: two
|
|||
|
introductory plain text objects, an embedded multipart message, a
|
|||
|
text/enriched object, and a closing encapsulated text message in a
|
|||
|
non-ASCII character set. The embedded multipart message itself
|
|||
|
contains two objects to be displayed in parallel, a picture and an
|
|||
|
audio fragment.
|
|||
|
|
|||
|
MIME-Version: 1.0
|
|||
|
From: Nathaniel Borenstein <nsb@nsb.fv.com>
|
|||
|
To: Ned Freed <ned@innosoft.com>
|
|||
|
Date: Fri, 07 Oct 1994 16:15:05 -0700 (PDT)
|
|||
|
Subject: A multipart example
|
|||
|
Content-Type: multipart/mixed;
|
|||
|
boundary=unique-boundary-1
|
|||
|
|
|||
|
This is the preamble area of a multipart message.
|
|||
|
Mail readers that understand multipart format
|
|||
|
should ignore this preamble.
|
|||
|
|
|||
|
If you are reading this text, you might want to
|
|||
|
consider changing to a mail reader that understands
|
|||
|
how to properly display multipart messages.
|
|||
|
|
|||
|
--unique-boundary-1
|
|||
|
|
|||
|
... Some text appears here ...
|
|||
|
|
|||
|
[Note that the blank between the boundary and the start
|
|||
|
of the text in this part means no header fields were
|
|||
|
given and this is text in the US-ASCII character set.
|
|||
|
It could have been done with explicit typing as in the
|
|||
|
next part.]
|
|||
|
|
|||
|
--unique-boundary-1
|
|||
|
Content-type: text/plain; charset=US-ASCII
|
|||
|
|
|||
|
This could have been part of the previous part, but
|
|||
|
illustrates explicit versus implicit typing of body
|
|||
|
parts.
|
|||
|
|
|||
|
--unique-boundary-1
|
|||
|
Content-Type: multipart/parallel; boundary=unique-boundary-2
|
|||
|
|
|||
|
--unique-boundary-2
|
|||
|
Content-Type: audio/basic
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 15]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
Content-Transfer-Encoding: base64
|
|||
|
|
|||
|
... base64-encoded 8000 Hz single-channel
|
|||
|
mu-law-format audio data goes here ...
|
|||
|
|
|||
|
--unique-boundary-2
|
|||
|
Content-Type: image/jpeg
|
|||
|
Content-Transfer-Encoding: base64
|
|||
|
|
|||
|
... base64-encoded image data goes here ...
|
|||
|
|
|||
|
--unique-boundary-2--
|
|||
|
|
|||
|
--unique-boundary-1
|
|||
|
Content-type: text/enriched
|
|||
|
|
|||
|
This is <bold><italic>enriched.</italic></bold>
|
|||
|
<smaller>as defined in RFC 1896</smaller>
|
|||
|
|
|||
|
Isn't it
|
|||
|
<bigger><bigger>cool?</bigger></bigger>
|
|||
|
|
|||
|
--unique-boundary-1
|
|||
|
Content-Type: message/rfc822
|
|||
|
|
|||
|
From: (mailbox in US-ASCII)
|
|||
|
To: (address in US-ASCII)
|
|||
|
Subject: (subject in US-ASCII)
|
|||
|
Content-Type: Text/plain; charset=ISO-8859-1
|
|||
|
Content-Transfer-Encoding: Quoted-printable
|
|||
|
|
|||
|
... Additional text in ISO-8859-1 goes here ...
|
|||
|
|
|||
|
--unique-boundary-1--
|
|||
|
|
|||
|
Appendix B -- Changes from RFC 1521, 1522, and 1590
|
|||
|
|
|||
|
These documents are a revision of RFC 1521, 1522, and 1590. For the
|
|||
|
convenience of those familiar with the earlier documents, the changes
|
|||
|
from those documents are summarized in this appendix. For further
|
|||
|
history, note that Appendix H in RFC 1521 specified how that document
|
|||
|
differed from its predecessor, RFC 1341.
|
|||
|
|
|||
|
(1) This document has been completely reformatted and split
|
|||
|
into multiple documents. This was done to improve the
|
|||
|
quality of the plain text version of this document,
|
|||
|
which is required to be the reference copy.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 16]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
(2) BNF describing the overall structure of MIME object
|
|||
|
headers has been added. This is a documentation change
|
|||
|
only -- the underlying syntax has not changed in any
|
|||
|
way.
|
|||
|
|
|||
|
(3) The specific BNF for the seven media types in MIME has
|
|||
|
been removed. This BNF was incorrect, incomplete, amd
|
|||
|
inconsistent with the type-indendependent BNF. And
|
|||
|
since the type-independent BNF already fully specifies
|
|||
|
the syntax of the various MIME headers, the type-
|
|||
|
specific BNF was, in the final analysis, completely
|
|||
|
unnecessary and caused more problems than it solved.
|
|||
|
|
|||
|
(4) The more specific "US-ASCII" character set name has
|
|||
|
replaced the use of the informal term ASCII in many
|
|||
|
parts of these documents.
|
|||
|
|
|||
|
(5) The informal concept of a primary subtype has been
|
|||
|
removed.
|
|||
|
|
|||
|
(6) The term "object" was being used inconsistently. The
|
|||
|
definition of this term has been clarified, along with
|
|||
|
the related terms "body", "body part", and "entity",
|
|||
|
and usage has been corrected where appropriate.
|
|||
|
|
|||
|
(7) The BNF for the multipart media type has been
|
|||
|
rearranged to make it clear that the CRLF preceeding
|
|||
|
the boundary marker is actually part of the marker
|
|||
|
itself rather than the preceeding body part.
|
|||
|
|
|||
|
(8) The prose and BNF describing the multipart media type
|
|||
|
have been changed to make it clear that the body parts
|
|||
|
within a multipart object MUST NOT contain any lines
|
|||
|
beginning with the boundary parameter string.
|
|||
|
|
|||
|
(9) In the rules on reassembling "message/partial" MIME
|
|||
|
entities, "Subject" is added to the list of headers to
|
|||
|
take from the inner message, and the example is
|
|||
|
modified to clarify this point.
|
|||
|
|
|||
|
(10) "Message/partial" fragmenters are restricted to
|
|||
|
splitting MIME objects only at line boundaries.
|
|||
|
|
|||
|
(11) In the discussion of the application/postscript type,
|
|||
|
an additional paragraph has been added warning about
|
|||
|
possible interoperability problems caused by embedding
|
|||
|
of binary data inside a PostScript MIME entity.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 17]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
(12) Added a clarifying note to the basic syntax rules for
|
|||
|
the Content-Type header field to make it clear that the
|
|||
|
following two forms:
|
|||
|
|
|||
|
Content-type: text/plain; charset=us-ascii (comment)
|
|||
|
|
|||
|
Content-type: text/plain; charset="us-ascii"
|
|||
|
|
|||
|
are completely equivalent.
|
|||
|
|
|||
|
(13) The following sentence has been removed from the
|
|||
|
discussion of the MIME-Version header: "However,
|
|||
|
conformant software is encouraged to check the version
|
|||
|
number and at least warn the user if an unrecognized
|
|||
|
MIME-version is encountered."
|
|||
|
|
|||
|
(14) A typo was fixed that said "application/external-body"
|
|||
|
instead of "message/external-body".
|
|||
|
|
|||
|
(15) The definition of a character set has been reorganized
|
|||
|
to make the requirements clearer.
|
|||
|
|
|||
|
(16) The definition of the "image/gif" media type has been
|
|||
|
moved to a separate document. This change was made
|
|||
|
because of potential conflicts with IETF rules
|
|||
|
governing the standardization of patented technology.
|
|||
|
|
|||
|
(17) The definitions of "7bit" and "8bit" have been
|
|||
|
tightened so that use of bare CR, LF can only be used
|
|||
|
as end-of-line sequences. The document also no longer
|
|||
|
requires that NUL characters be preserved, which brings
|
|||
|
MIME into alignment with real-world implementations.
|
|||
|
|
|||
|
(18) The definition of canonical text in MIME has been
|
|||
|
tightened so that line breaks must be represented by a
|
|||
|
CRLF sequence. CR and LF characters are not allowed
|
|||
|
outside of this usage. The definition of quoted-
|
|||
|
printable encoding has been altered accordingly.
|
|||
|
|
|||
|
(19) The definition of the quoted-printable encoding now
|
|||
|
includes a number of suggestions for how quoted-
|
|||
|
printable encoders might best handle improperly encoded
|
|||
|
material.
|
|||
|
|
|||
|
(20) Prose was added to clarify the use of the "7bit",
|
|||
|
"8bit", and "binary" transfer-encodings on multipart or
|
|||
|
message entities encapsulating "8bit" or "binary" data.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 18]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
(21) In the section on MIME Conformance, "multipart/digest"
|
|||
|
support was added to the list of requirements for
|
|||
|
minimal MIME conformance. Also, the requirement for
|
|||
|
"message/rfc822" support were strengthened to clarify
|
|||
|
the importance of recognizing recursive structure.
|
|||
|
|
|||
|
(22) The various restrictions on subtypes of "message" are
|
|||
|
now specified entirely on a subtype by subtype basis.
|
|||
|
|
|||
|
(23) The definition of "message/rfc822" was changed to
|
|||
|
indicate that at least one of the "From", "Subject", or
|
|||
|
"Date" headers must be present.
|
|||
|
|
|||
|
(24) The required handling of unrecognized subtypes as
|
|||
|
"application/octet-stream" has been made more explicit
|
|||
|
in both the type definitions sections and the
|
|||
|
conformance guidelines.
|
|||
|
|
|||
|
(25) Examples using text/richtext were changed to
|
|||
|
text/enriched.
|
|||
|
|
|||
|
(26) The BNF definition of subtype has been changed to make
|
|||
|
it clear that either an IANA registered subtype or a
|
|||
|
nonstandard "X-" subtype must be used in a Content-Type
|
|||
|
header field.
|
|||
|
|
|||
|
(27) MIME media types that are simply registered for use and
|
|||
|
those that are standardized by the IETF are now
|
|||
|
distinguished in the MIME BNF.
|
|||
|
|
|||
|
(28) All of the various MIME registration procedures have
|
|||
|
been extensively revised. IANA registration procedures
|
|||
|
for character sets have been moved to a separate
|
|||
|
document that is no included in this set of documents.
|
|||
|
|
|||
|
(29) The use of escape and shift mechanisms in the US-ASCII
|
|||
|
and ISO-8859-X character sets these documents define
|
|||
|
have been clarified: Such mechanisms should never be
|
|||
|
used in conjunction with these character sets and their
|
|||
|
effect if they are used is undefined.
|
|||
|
|
|||
|
(30) The definition of the AFS access-type for
|
|||
|
message/external-body has been removed.
|
|||
|
|
|||
|
(31) The handling of the combination of
|
|||
|
multipart/alternative and message/external-body is now
|
|||
|
specifically addressed.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 19]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
(32) Security issues specific to message/external-body are
|
|||
|
now discussed in some detail.
|
|||
|
|
|||
|
Appendix C -- References
|
|||
|
|
|||
|
[ATK]
|
|||
|
Borenstein, Nathaniel S., Multimedia Applications
|
|||
|
Development with the Andrew Toolkit, Prentice-Hall, 1990.
|
|||
|
|
|||
|
[ISO-2022]
|
|||
|
International Standard -- Information Processing --
|
|||
|
Character Code Structure and Extension Techniques,
|
|||
|
ISO/IEC 2022:1994, 4th ed.
|
|||
|
|
|||
|
[ISO-8859]
|
|||
|
International Standard -- Information Processing -- 8-bit
|
|||
|
Single-Byte Coded Graphic Character Sets
|
|||
|
- Part 1: Latin Alphabet No. 1, ISO 8859-1:1987, 1st ed.
|
|||
|
- Part 2: Latin Alphabet No. 2, ISO 8859-2:1987, 1st ed.
|
|||
|
- Part 3: Latin Alphabet No. 3, ISO 8859-3:1988, 1st ed.
|
|||
|
- Part 4: Latin Alphabet No. 4, ISO 8859-4:1988, 1st ed.
|
|||
|
- Part 5: Latin/Cyrillic Alphabet, ISO 8859-5:1988, 1st
|
|||
|
ed.
|
|||
|
- Part 6: Latin/Arabic Alphabet, ISO 8859-6:1987, 1st ed.
|
|||
|
- Part 7: Latin/Greek Alphabet, ISO 8859-7:1987, 1st ed.
|
|||
|
- Part 8: Latin/Hebrew Alphabet, ISO 8859-8:1988, 1st ed.
|
|||
|
- Part 9: Latin Alphabet No. 5, ISO/IEC 8859-9:1989, 1st
|
|||
|
ed.
|
|||
|
International Standard -- Information Technology -- 8-bit
|
|||
|
Single-Byte Coded Graphic Character Sets
|
|||
|
- Part 10: Latin Alphabet No. 6, ISO/IEC 8859-10:1992,
|
|||
|
1st ed.
|
|||
|
|
|||
|
[ISO-646]
|
|||
|
International Standard -- Information Technology -- ISO
|
|||
|
7-bit Coded Character Set for Information Interchange,
|
|||
|
ISO 646:1991, 3rd ed..
|
|||
|
|
|||
|
[JPEG]
|
|||
|
JPEG Draft Standard ISO 10918-1 CD.
|
|||
|
|
|||
|
[MPEG]
|
|||
|
Video Coding Draft Standard ISO 11172 CD, ISO
|
|||
|
IEC/JTC1/SC2/WG11 (Motion Picture Experts Group), May,
|
|||
|
1991.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 20]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
[PCM]
|
|||
|
CCITT, Fascicle III.4 - Recommendation G.711, "Pulse Code
|
|||
|
Modulation (PCM) of Voice Frequencies", Geneva, 1972.
|
|||
|
|
|||
|
[POSTSCRIPT]
|
|||
|
Adobe Systems, Inc., PostScript Language Reference
|
|||
|
Manual, Addison-Wesley, 1985.
|
|||
|
|
|||
|
[POSTSCRIPT2]
|
|||
|
Adobe Systems, Inc., PostScript Language Reference
|
|||
|
Manual, Addison-Wesley, Second Ed., 1990.
|
|||
|
|
|||
|
[RFC-783]
|
|||
|
Sollins, K.R., "TFTP Protocol (revision 2)", RFC-783,
|
|||
|
MIT, June 1981.
|
|||
|
|
|||
|
[RFC-821]
|
|||
|
Postel, J.B., "Simple Mail Transfer Protocol", STD 10,
|
|||
|
RFC 821, USC/Information Sciences Institute, August 1982.
|
|||
|
|
|||
|
[RFC-822]
|
|||
|
Crocker, D., "Standard for the Format of ARPA Internet
|
|||
|
Text Messages", STD 11, RFC 822, UDEL, August 1982.
|
|||
|
|
|||
|
[RFC-934]
|
|||
|
Rose, M. and E. Stefferud, "Proposed Standard for Message
|
|||
|
Encapsulation", RFC 934, Delaware and NMA, January 1985.
|
|||
|
|
|||
|
[RFC-959]
|
|||
|
Postel, J. and J. Reynolds, "File Transfer Protocol", STD
|
|||
|
9, RFC 959, USC/Information Sciences Institute, October
|
|||
|
1985.
|
|||
|
|
|||
|
[RFC-1049]
|
|||
|
Sirbu, M., "Content-Type Header Field for Internet
|
|||
|
Messages", RFC 1049, CMU, March 1988.
|
|||
|
|
|||
|
[RFC-1154]
|
|||
|
Robinson, D., and R. Ullmann, "Encoding Header Field for
|
|||
|
Internet Messages", RFC 1154, Prime Computer, Inc., April
|
|||
|
1990.
|
|||
|
|
|||
|
[RFC-1341]
|
|||
|
Borenstein, N., and N. Freed, "MIME (Multipurpose
|
|||
|
Internet Mail Extensions): Mechanisms for Specifying and
|
|||
|
Describing the Format of Internet Message Bodies", RFC
|
|||
|
1341, Bellcore, Innosoft, June 1992.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 21]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
[RFC-1342]
|
|||
|
Moore, K., "Representation of Non-Ascii Text in Internet
|
|||
|
Message Headers", RFC 1342, University of Tennessee, June
|
|||
|
1992.
|
|||
|
|
|||
|
[RFC-1344]
|
|||
|
Borenstein, N., "Implications of MIME for Internet Mail
|
|||
|
Gateways", RFC 1344, Bellcore, June 1992.
|
|||
|
|
|||
|
[RFC-1345]
|
|||
|
Simonsen, K., "Character Mnemonics & Character Sets", RFC
|
|||
|
1345, Rationel Almen Planlaegning, June 1992.
|
|||
|
|
|||
|
[RFC-1421]
|
|||
|
Linn, J., "Privacy Enhancement for Internet Electronic
|
|||
|
Mail: Part I -- Message Encryption and Authentication
|
|||
|
Procedures", RFC 1421, IAB IRTF PSRG, IETF PEM WG,
|
|||
|
February 1993.
|
|||
|
|
|||
|
[RFC-1422]
|
|||
|
Kent, S., "Privacy Enhancement for Internet Electronic
|
|||
|
Mail: Part II -- Certificate-Based Key Management", RFC
|
|||
|
1422, IAB IRTF PSRG, IETF PEM WG, February 1993.
|
|||
|
|
|||
|
[RFC-1423]
|
|||
|
Balenson, D., "Privacy Enhancement for Internet
|
|||
|
Electronic Mail: Part III -- Algorithms, Modes, and
|
|||
|
Identifiers", IAB IRTF PSRG, IETF PEM WG, February 1993.
|
|||
|
|
|||
|
[RFC-1424]
|
|||
|
Kaliski, B., "Privacy Enhancement for Internet Electronic
|
|||
|
Mail: Part IV -- Key Certification and Related
|
|||
|
Services", IAB IRTF PSRG, IETF PEM WG, February 1993.
|
|||
|
|
|||
|
[RFC-1521]
|
|||
|
Borenstein, N., and Freed, N., "MIME (Multipurpose
|
|||
|
Internet Mail Extensions): Mechanisms for Specifying and
|
|||
|
Describing the Format of Internet Message Bodies", RFC
|
|||
|
1521, Bellcore, Innosoft, September, 1993.
|
|||
|
|
|||
|
[RFC-1522]
|
|||
|
Moore, K., "Representation of Non-ASCII Text in Internet
|
|||
|
Message Headers", RFC 1522, University of Tennessee,
|
|||
|
September 1993.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 22]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
[RFC-1524]
|
|||
|
Borenstein, N., "A User Agent Configuration Mechanism for
|
|||
|
Multimedia Mail Format Information", RFC 1524, Bellcore,
|
|||
|
September 1993.
|
|||
|
|
|||
|
[RFC-1543]
|
|||
|
Postel, J., "Instructions to RFC Authors", RFC 1543,
|
|||
|
USC/Information Sciences Institute, October 1993.
|
|||
|
|
|||
|
[RFC-1556]
|
|||
|
Nussbacher, H., "Handling of Bi-directional Texts in
|
|||
|
MIME", RFC 1556, Israeli Inter-University Computer
|
|||
|
Center, December 1993.
|
|||
|
|
|||
|
[RFC-1590]
|
|||
|
Postel, J., "Media Type Registration Procedure", RFC
|
|||
|
1590, USC/Information Sciences Institute, March 1994.
|
|||
|
|
|||
|
[RFC-1602]
|
|||
|
Internet Architecture Board, Internet Engineering
|
|||
|
Steering Group, Huitema, C., Gross, P., "The Internet
|
|||
|
Standards Process -- Revision 2", March 1994.
|
|||
|
|
|||
|
[RFC-1652]
|
|||
|
Klensin, J., (WG Chair), Freed, N., (Editor), Rose, M.,
|
|||
|
Stefferud, E., and Crocker, D., "SMTP Service Extension
|
|||
|
for 8bit-MIME transport", RFC 1652, United Nations
|
|||
|
University, Innosoft, Dover Beach Consulting, Inc.,
|
|||
|
Network Management Associates, Inc., The Branch Office,
|
|||
|
March 1994.
|
|||
|
|
|||
|
[RFC-1700]
|
|||
|
Reynolds, J. and J. Postel, "Assigned Numbers", STD 2,
|
|||
|
RFC 1700, USC/Information Sciences Institute, October
|
|||
|
1994.
|
|||
|
|
|||
|
[RFC-1741]
|
|||
|
Faltstrom, P., Crocker, D., and Fair, E., "MIME Content
|
|||
|
Type for BinHex Encoded Files", December 1994.
|
|||
|
|
|||
|
[RFC-1896]
|
|||
|
Resnick, P., and A. Walker, "The text/enriched MIME
|
|||
|
Content-type", RFC 1896, February, 1996.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 23]
|
|||
|
|
|||
|
RFC 2049 MIME Conformance November 1996
|
|||
|
|
|||
|
|
|||
|
[RFC-2045]
|
|||
|
Freed, N., and and N. Borenstein, "Multipurpose Internet Mail
|
|||
|
Extensions (MIME) Part One: Format of Internet Message
|
|||
|
Bodies", RFC 2045, Innosoft, First Virtual Holdings,
|
|||
|
November 1996.
|
|||
|
|
|||
|
[RFC-2046]
|
|||
|
Freed, N., and N. Borenstein, "Multipurpose Internet Mail
|
|||
|
Extensions (MIME) Part Two: Media Types", RFC 2046,
|
|||
|
Innosoft, First Virtual Holdings, November 1996.
|
|||
|
|
|||
|
[RFC-2047]
|
|||
|
Moore, K., "Multipurpose Internet Mail Extensions (MIME)
|
|||
|
Part Three: Representation of Non-ASCII Text in Internet
|
|||
|
Message Headers", RFC 2047, University of
|
|||
|
Tennessee, November 1996.
|
|||
|
|
|||
|
[RFC-2048]
|
|||
|
Freed, N., Klensin, J., and J. Postel, "Multipurpose
|
|||
|
Internet Mail Extensions (MIME) Part Four: MIME
|
|||
|
Registration Procedures", RFC 2048, Innosoft, MCI,
|
|||
|
ISI, November 1996.
|
|||
|
|
|||
|
[RFC-2049]
|
|||
|
Freed, N. and N. Borenstein, "Multipurpose Internet Mail
|
|||
|
Extensions (MIME) Part Five: Conformance Criteria and
|
|||
|
Examples", RFC 2049 (this document), Innosoft, First
|
|||
|
Virtual Holdings, November 1996.
|
|||
|
|
|||
|
[US-ASCII]
|
|||
|
Coded Character Set -- 7-Bit American Standard Code for
|
|||
|
Information Interchange, ANSI X3.4-1986.
|
|||
|
|
|||
|
[X400]
|
|||
|
Schicker, Pietro, "Message Handling Systems, X.400",
|
|||
|
Message Handling Systems and Distributed Applications, E.
|
|||
|
Stefferud, O-j. Jacobsen, and P. Schicker, eds., North-
|
|||
|
Holland, 1989, pp. 3-41.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Freed & Borenstein Standards Track [Page 24]
|
|||
|
|