⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc1344.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 2 页
字号:






            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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -