[RFC Home] [TEXT|PDF|PS|PDF|HTML] [Tracker] [IPR] [Info page]

Tweet
This is a modified version of the Internet RFC suitable for machine-translating. Original version is available here: RFC1344
Ad

INFORMATIONAL
            Network Working Group               N. Borenstein, Bellcore
            Request for Comments: 1344                        June 1992
          
                  
Implications of MIME for Internet Mail Gateways

          Status of This Memo
          
            This is an informational memo for  the  Internet  community,
and requests discussion and suggestions for improvements. This memo does not specify an Internet standard.
            Distribution of this memo is unlimited.
          
          Abstract
          
            The recent development of MIME (Multipurpose  Internet  Mail
Extensions) offers a wide range of new opportunities for electronic mail system systems. Most of these opportunites are relevant only to user agents, the programs that interact with human users when they send and receive mail. However, some opportunities are also opened up for mail transport systems. While MIME was carefully designed so that it does not require any changes to Internet electronic message transport facilities, there are several ways in which message transport systems may want to take advantage of
            MIME.  These opportunities are the subject of this memo.
          
          Background -- The MIME Format
          
            Recently, a new standardized format  has  been  defined  for
enhanced electronic mail messages on the Internet. This format, known as MIME, permits messages to include, in a standardized manner, non-ASCII text, images, audio, and a
            variety of other kinds of interesting data.
          
            The  MIME  effort  was  explicitly  focused   on   requiring
absolutely no changes at the message transport level. Because of this fact, MIME-format mail runs transparently on all known Internet or Internet-style mail systems. This means that those concerned solely with the maintenance and development of message transport services can safely ignore
            MIME completely, if they so choose.
          
            However, the fact that MIME can be ignored, for the  purpose
of message transport, does not necessarily mean that it should be ignored. In particular, MIME offers several features that should be of interest to those responsible for message transport services. By exploiting these features, transport systems can provide certain additional kinds of service that are currently unavailable, and can alleviate a
            few existing problems.
          
            The remainder of this document  is  an  attempt  to  briefly
            point  out  and  summarize some important ways in which MIME
          
          
          
            Borenstein                                          [Page 1]

 RFC 1344 MIME and Mail Gateways June 1992

            may be of use for message transport systems.  This  document
makes no attempt to present a complete technical description of MIME, however. For that, the reader is refered to the
            MIME document itself [RFC-1341].
          
          Mail Transport and Gateway Services:  A Key Distinction
          
            Before implementing any of the mechanisms discussed in  this
memo, one should be familiar with the distinction between mail transport service and mail gateway service. Basically, mail transport software is responsible for moving a message within a homogeneous electronic mail service network. Mail gateways, on the other hand, exchange mail between two significantly different mail environments, including via
            non-electronic services, such as postal mail.
          
            In general, it is widely considered  unacceptable  for  mail
transport services to alter the contents of messages. In the case of mail gateways, however, such alteration is often inevitable. Thus, strictly speaking, many of the mechanisms described here apply only to gateways, and should not be used in simple mail transport systems. However, it is possible that some very special situations -- e.g., an SMTP relay that transports mail across extremely expensive intercontinental network links -- might need to modify messages, in order to provide appropriate service for those situations, and hence must redefine its role to be that of a
            gateway.
          
            In this memo, it is assumed that transformations which alter
a message's contents will be performed only by gateways, but it is recognized that some existing mail transport agents may choose to reclassify themselves as gateways in order to
            perform the functions described here.
          
          Rejected Messages
          
            An unfortunately frequent duty of message transport services
is the rejection of mail to the sender. This may happen because the mail was undeliverable, or because it did not conform to the requirements of a gateway (e.g., it was too
            large).
          
            There has never been a standard format for rejected messages
in the past. This has been an annoyance, but not a major problem for text messages. For non-text messages, however, the lack of a standard rejection format is more crucial, because rejected messages typically appear to be text, and the user who finds himself viewing images or audio as if
            they were text is rarely happy with the result.
          
            MIME makes it very easy to encapsulate messages  in  such  a
way that their semantics are completely preserved. The
            simplest way to do this is to make each rejection  notice  a
          
          
          
            Borenstein                                          [Page 2]

 RFC 1344 MIME and Mail Gateways June 1992

            MIME  "multipart/mixed"  message.   That  multipart  message
would contain two parts, a text part explaining the reason for the rejection, and an encapsulated message part that
            contained the rejected message itself.
          
            It should be stressed that the transport software  does  not
need to understand the structure of the rejected message at all. It merely needs to encapsulate it properly. The following, for example, shows how any MIME message may be encapsulated in a rejection message in such a way that all information will be immediately visible in the correct form if the recipient reads it with a MIME-conformant mail
            reader:
          
                 From: Mailer-Daemon <daemon@somewhere.com>
Subject: Rejected Message
                 Content-type: multipart/mixed; boundary=unique-boundary
          
                 --unique-boundary
                 Content-type: text/plain; charset=us-ascii
          
                 A mail message you sent was rejected.  The details of
                 the rejected message are as follows:
          
                 From: Nathainel Borenstein <nsb@bellcore.com>
Message-ID: <12345@bellcore.com> To: bush@whitehouse.gov Subject: I know my rights! Rejection-reason: No mail from libertarians is
                 accepted.
          
                 The original message follows below.
--unique-boundary
                 Content-type: message/rfc822
          
                 The ENTIRE REJECTED MESSAGE, starting with the headers,
                 goes here.
          
                 --unique-boundary--
In the above example, the ONLY thing that is not 'boilerplate" is the choice of boundary string. The phrase "unique-boundary" should be replaced by a string that does not appear (prefixed by two hyphens) in any of the body
            parts.
          
            Encapsulating a message in this manner is very easily  done,
and will constitute a significant service that message
            transport services can perform for MIME users.
          
            IMPORTANT NOTE:  The format given above  is  simply  one  of
many possible ways to format a rejection message using MIME. Independent IETF efforts are needed in order to standardize
            the format of rejections and acknowledgements.
          
          
          
          
            Borenstein                                          [Page 3]

 RFC 1344 MIME and Mail Gateways June 1992

          Fragmenting and Reassembling Large Messages
          
            One  problem  that  occurs  with  increasing  frequency   in
Internet mail is the rejection of messages because of size limitations. This problem can be expected to grow substantially more severe with the acceptance of MIME, as MIME invites the use of very large objects such as images and audio clips. Fortunately, MIME also provides mechanisms
            that can help alleviate the problem.
          
            One particularly relevant MIME  type  is  "message/partial",
which can be used for the automatic fragmentation and reassembly of large mail messages. The message/partial type can be handled entirely at the user agent level, but message transport services can also make use of this type to provide
            more intelligent behavior at gateways.
          
            In particular, when gatewaying mail to or from a  system  or
network known to enforce size limitations that are more or less stringent than are enforced locally, message transport services might choose either to break a large message into fragments, or (perhaps less likely) to reassemble fragments into a larger message. The combination of these two behaviors can make the overall Internet mail environment
            appear more complete and seamless than it actually is.
          
            Details on the message/partial format may be  found  in  the
MIME document. What follows is an example of how a simple short message might be broken into two message/partial messages. In practice, of course, the message/partial facility would only be likely to be used for much longer
            messages.
          
            The following initial message:
          
                 From:  Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed: <ned@innosoft.com> Subject: a test message Content-type: image/gif
                 Content-Transfer-Encoding: base64
          
                 R0lGODdhQAGMAbMAAAAAAP/u7swzIu6ZiLsiEd1EM+5VRGaI3WYAAO67qkRV
uwARd6q7/ywAAAAAQAGMAUME/hDISau9OOvNu/9gKI6kRJwoUa5s675wLM90l XW5YKxqPyKRygxv2dr4czwlMCZrQLFTYHBJ2hlyQYFiaz+i0WWBou7fOq1x8vXWfU qU1fJ2qEhYaHGjhZQmJ2QT1xBW1ak1xUdV0/VjtsbpUEDaEJCQOIpqeoNV+LXo5W
                 fVN3dZKceAQPvgyhwQ2lqcXGxx5wja59eJIGUNCszF90sYp50CoqFZ4DoqMMo6M
          
            can  be  transformed,  invertibly,  into  the  following two
            message/partial messages:
          
          
                 From:  Nathaniel Borenstein <nsb@bellcore.com>
          
          
          
          
          
            Borenstein                                          [Page 4]

 RFC 1344 MIME and Mail Gateways June 1992

                 To: Ned Freed <ned@innosoft.com>
Subject: a test message Content-type: message/partial; id="xyx@host.com";
                      number=1; total=2
          
                 Content-type: image/gif
                 Content-Transfer-Encoding: base64
          
                 R0lGODdhQAGMAbMAAAAAAP/u7swzIu6ZiLsiEd1EM+5VRGaI3WYAAO67qkRV
          
            and
          
                 From:  Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com> Subject: a test message Content-type: message/partial; id="xyx@host.com";
                      number=2; total=2
          
                 uwARd6q7/ywAAAAAQAGMAUME/hDISau9OOvNu/9gKI6kRJwoUa5s675wLM90l
XW5YKxqPyKRygxv2dr4czwlMCZrQLFTYHBJ2hlyQYFiaz+i0WWBou7fOq1x8vXWfU qU1fJ2qEhYaHGjhZQmJ2QT1xBW1ak1xUdV0/VjtsbpUEDaEJCQOIpqeoNV+LXo5W
                 fVN3dZKceAQPvgyhwQ2lqcXGxx5wja59eJIGUNCszF90sYp50CoqFZ4DoqMMo6M
          
            Fragmenting such messages rather than rejecting  them  might
be a reasonable option for some gateway services, at least for a certain range of message sizes. Of course, it is often difficult for a gateway to know what size limitations will be encountered "downstream", but intelligent guesses are often possible. Moreover, an IETF working group on SMTP extensions has proposed augmenting SMTP with a "SIZE" verb that would facilitate this process, thereby possibly requiring fragmentation on the fly during message
            transmission.
          
            Note also that fragmentation or reassembly might  reasonably
be performed, in differing circumstances, by either the sending or receiving gateway systems, depending on which
            system knew more about the capabilities of the other.
          
          Using or Removing External-Body Pointers
          
            Another MIME type oriented to extremely  large  messages  is
the "message/external-body" type. In this type of message, all or part of the body data is not included in the actual message itself. Instead, the Content-Type header field includes information that tells how the body data can be retrieved -- either via a file system, via anonymous ftp, or
            via other mechanisms.
          
            The message/external-body type provides  a  new  option  for
mail transport services that wishes to optimize the way bandwidth resources are used in a given environment. For example, the basic use of message/external-body is to reduce
            bandwidth in email traffic. However, when  email  crosses  a
          
          
          
            Borenstein                                          [Page 5]

 RFC 1344 MIME and Mail Gateways June 1992

            slow and expensive boundary -- e.g., a satellite link across
the Pacific -- it might make sense to retrieve the data itself and transform the external-body reference into the actual data. Alternately, it might make sense to copy the data itself to a new location, closer to the message recipients, and change the location pointed to in the message. Because the external-body specification can include an expiration date, message transport services can trade off storage and bandwidth capabilities to try to optimize the overall use of resources for very large
            messages.
          
            Such behaviors by a  gateway  require  careful  analysis  of
cost/benefit tradeoffs and would be a dramatic departure from typical mail transport services. However, the potential benefits are quite significant, so that such the
            appropriate use of these service options should be explored.
          
            For example, the following message includes PostScript  data
            by external reference:
          
                 From:  Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com> Subject: The latest MIME draft Content-Type: message/external-body; name="BodyFormats.ps"; site="thumper.bellcore.com"; access-type=ANON-FTP; directory="pub"; mode="image";
                      expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
          
                 Content-type: application/postscript
          
            A gateway to Australia might choose to copy the file  to  an
Australian FTP archive, changing the relevant parameters on the Content-type header field. Alternately, it might choose simply to transform the message into one in which all the
            data were included:
          
                 From:  Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com> Subject: The latest MIME draft
                 Content-type: application/postscript
          
                 %!PS-Adobe-1.0
%%Creator: greenbush:nsb (Nathaniel Borenstein,MRE 2A- 274,4270,9938586,21462)
                 etc...
          
            This is an example which suggests both the benefits and  the
dangers. There is considerable benefit to having a copy of the data immediately available, but there also may be
            considerable  expense involved in transporting it to all  of
          
          
          
            Borenstein                                          [Page 6]

 RFC 1344 MIME and Mail Gateways June 1992

            a the members of a list, if only a few  will  use  the  data
            anytime soon.
          
            Alternatively, instead of replacing an external-body message
with its real contents, it might make sense to transform it into a "multipart/alternative" message containing both the external body reference and the expanded version. This means that only the external body part can be forwarded if desired, and the recipient doesn't lose the information as to where the data was fetched from, if they want to fetch an up-to-date version in the future. Such information could be
            represented, in MIME, in the following form:
          
                 From:  Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com> Subject: The latest MIME draft
                 Content-type: multipart/alternative; boundary=foo
          
                 --foo
Content-Type: message/external-body;
name="BodyFormats.ps"; site="thumper.bellcore.com"; access-type=ANON-FTP; directory="pub"; mode="image";
                      expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
          
                 Content-type: application/postscript
--foo
                 Content-type: application/postscript
          
                 %!PS-Adobe-1.0
%%Creator: greenbush:nsb (Nathaniel Borenstein,MRE 2A- 274,4270,9938586,21462) etc...
                 --foo--
          
            Similarly for the case where a message is copied to a  local
FTP site, one could offer two external body parts as the alternatives, allowing the user agent to choose which FTP
            site is preferred.
          
          Image and other Format Conversions
          
            MIME currently defines  two  image  formats,  image/gif  and
image/jpeg. The former is much more convenient for many users, and can be displayed more quickly on many systems. The latter is a much more compact representation, and
            therfore places less stress on mail transport facilities.
          
            Message  transport  services  can  optimize  both  transport
bandwidth and user convenience by intelligent translation between these formats (and other formats that might be added
            later).   When  a message of type image/gif is submitted for
          
          
          
            Borenstein                                          [Page 7]

 RFC 1344 MIME and Mail Gateways June 1992

            long-haul delivery, it might  reasonably  be  translated  to
image/jpeg. Conversely, when image/jpeg data is received for final delivery on a system with adequate storage resources, it might be translated to image/gif for the convenience of the recipient. Software to perform these translations is widely available. It should be noted, however, that performance of such conversions presumes
            support for the new format by the recipient.
          
            Although MIME currently only defines one audio format,  more
are likely to be defined and registered with IANA in the future. In that case, similar format conversion facilities
            might be appropriate for audio.
          
            If format conversion is done,  it  is  STRONGLY  RECOMMENDED
that some kind of trace information (probably in the form of a Received header field) should be added to a message to
            document the conversion that has been performed.
          
            Some people have expressed concerns,  or  even  the  opinion
that conversions should never be done. To accomodate the desires of those who dislike the idea of automatic format conversion. For this reason, it is suggested that such transformations be generally restricted to gateways rather than general message transport services, and that services which perform such conversions should be sensitive to a header field that indicates that the sender does not wish to have any such conversions performed. A suggested value for
            this header field is:
          
            Content-Conversion: prohibited
          
            User agents that wish to explicitly indicate  a  willingness
            for such conversions to be performed may use:
          
            Content-Conversion: permitted
          
            However,  this  will  be  the  default  assumption  of  many
gateways, so this header field is not strictly necessary. It also should be noted that such control of conversion would only be available to the sender, rather than to any of
            the recipients.
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
            Borenstein                                          [Page 8]

 RFC 1344 MIME and Mail Gateways June 1992

          Robust Encoding of Data
          
            In addition to all the  reasons  given  above  for  possible
transformation of body data, it will sometimes be the case that a gateway can tell that the body data, as given, will not robustly survive the next step of transport. For example, mail crossing an ASCII-to-EBCDIC gateway will lose information if certain characters are used. In such cases, a gateway can make the data more robust simply by applying one of the MIME Content-Transfer-Encoding algorithms (base64 or quoted-printable) to the body or body part. This will generally be a loss-less transformation, but care must be taken to ensure that the resulting message is MIME- conformant if the inital message was not. (For example, a
            MIME-Version header field may need to be added.)
          
          User-oriented concerns
          
            If a gateway is going to perform major transformations on  a
mail message, such as translating image formats or mapping between included data and external-reference data, it seems inevitable that there will be situations in which users will object to these transformations. This is, in large part, an implementation issue, but it seems advisable, wherever possible, to provide a mechanism whereby users can specify, to the transport system, whether or not they want such services performed automatically on their behalf. The use of the "Content-Conversion" header field, as mentioned above, is suggested for this purpose, since it it least provides
            some control by the sender, if not the recipient.
          
          References
          
            [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, June, 1992.
          
          Security Considerations
          
            Security issues are not  discussed in this memo.
          
          Author's Address
          
            Nathaniel S. Borenstein
MRE 2D-296, Bellcore 445 South St.
            Morristown, NJ 07962-1910
          
            Email: nsb@bellcore.com
Phone: +1 201 829 4270
            Fax:  +1 201 829 7019
          
          
          
          
          
            Borenstein                                          [Page 9]


Ad

Translate documents to 日本語, svenska, Nederlands, Deutsch, français, русский, italiano, español, Tiếng Việt, polski, português, 中文, українська, català, norsk, فارسی, suomi, Bahasa Indonesia, العربية, čeština, 한국어, Bahasa Melayu, magyar, română, српски and other languages.
inserted by FC2 system