rfc2157.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,711 行 · 第 1/5 页

TXT
1,711
字号






Network Working Group                                      H. Alvestrand
Request for Comments: 2157                                       UNINETT
Category: Standards Track                                   January 1998


         Mapping between X.400 and RFC-822/MIME Message Bodies

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.

Copyright Notice

   Copyright (C) The Internet Society (1998).  All Rights Reserved.

Table of Contents

   1 Introduction ...........................................    2
   1.1 Glossary .............................................    3
   2 Basic rules for body part conversion ...................    4
   2.1 Generating the IPM Body from MIME ....................    5
   2.2 Generating the MIME Body from the IPMS.Body ..........    6
   2.3 Mapping the EMA FTBP parameters ......................    7
   2.3.1 Mapping GraphicStrings .............................    7
   2.3.2 Mapping specific parameters ........................    7
   2.3.3 Summary of FTBP elements generated .................   10
   2.4 Information that is lost when mapping ................   11
   3 Encapsulation of body parts ............................   11
   3.1 Encapsulation of MIME in X.400 .......................   12
   3.1.1 FTBP encapsulating body part .......................   12
   3.1.2 BP15 encapsulating body part .......................   13
   3.1.3 Encapsulation using IA5 (HARPOON) ..................   15
   3.1.4 Content passing using BP14 .........................   16
   3.2 Encapsulating X.400 Body Parts in MIME ...............   16
   3.3 Encapsulating FTBP body parts in MIME ................   17
   4 User control over the gateway choice ...................   18
   4.1 Conversion from MIME to X.400 ........................   18
   4.2 Conversion from X.400 to MIME ........................   20
   5 The equivalence registry ...............................   21
   5.1 What information one must give about a mapping
        .....................................................   21
   5.2 Equivalence summary for known X.400  and  MIME
       Types ................................................   22
   5.3 MIME to X.400 Table ..................................   23



Alvestrand                  Standards Track                     [Page 1]

RFC 2157                X.400/MIME Body Mapping             January 1998


   5.4 X.400 to MIME Table ..................................   23
   5.5 Use of OBJECT IDENTIFIERs and ASN.1 MACROS ...........   24
   6 Defined Equivalences ...................................   26
   6.1 IA5Text - text/plain .................................   26
   6.2 GeneralText - text/plain (ISO-8859) ..................   27
   6.3 BilaterallyDefined - application/octet-stream
       ......................................................   29
   6.4 FTBP  EMA  Unknown  Attachment   -
       application/octet-stream .............................   29
   6.5 MessageBodyPart - message/RFC822 .....................   30
   6.6 MessageBodyPart - multipart/* ........................   31
   6.7 Teletex - Text/Plain (Teletex) .......................   32
   7 Body parts where encapsulation is recommended ..........   33
   7.1 message/external-body ................................   34
   7.2 message/partial ......................................   35
   7.3 multipart/signed .....................................   35
   7.4 multipart/encrypted ..................................   36
   8 Conformance requirements ...............................   37
   9 Security Considerations ................................   38
   10 Author's Address ......................................   38
   11 Acknowledgements ......................................   38
    References ..............................................   38
    APPENDIXES ..............................................   41
    Appendix A: Escape code normalization ...................   41
    Appendix B: OID Assignments .............................   44
    Appendix  C:  Registration information for the
        Teletex character set ...............................   46
    Appendix  D:  IANA Registration form for new
    mappings ................................................   48
    Full Copyright Statement .................................  49

1.  Introduction

   This document is a companion to [MIXER], which defines the principles
   and translation of headers for interworking between MIME-based RFC-
   822 mail and X.400 mail.

   This document defines how to map body parts of X.400 messages into
   MIME entities and vice versa, including the handling of multipart
   messages and forwarded messages.











Alvestrand                  Standards Track                     [Page 2]

RFC 2157                X.400/MIME Body Mapping             January 1998


1.1.  Glossary

   The following terms are defined in this document:

   Body part
      Part of a message that has a unique type. This term comes from
      X.400; the corresponding term in MIME (RFC 2046) is limited to use
      in parts of a multipart message; the term "body" may correspond
      better.

   Content-type
      Type information indicating what the content of a body part
      actually is. This term comes from MIME; the corresponding X.400
      term is "body part type".

   Mapping
      (noun): A description of how to transform an X.400 body part into
      a MIME body part, or how to transform a MIME body part into an
      X.400 body part.

   Equivalence
      A set of two mappings that taken together provide a lossless
      conversion between an X.400 body part and a MIME body part

   Encapsulation
      The process of wrapping something from one of the mail systems in
      such a way that it can be carried inside the other mail system.
      When encapsulating, it is not expected that the other mail system
      can make reasonable sense of the body part, but a gateway back
      into the first system will always be able to convert the body part
      without loss back to its original format.

   HARPOON encapsulation
      The encapsulating of a MIME body part by putting it inside an IA5
      body with all headers and encoding intact. First described in RFC
      1496 [HARPOON].

   Tunneling
      What happens when one gateway encapsulates a message and sends it
      to another gateway that decapsulates it.  The hope is that this
      will cause minimal damage to the message in transit.

   DISCUSSION
      At many points in this document, the author has found it useful to
      include material that explains part of the reasoning behind the
      specification. These sections all start with DISCUSSION: and
      continue to the next numbered section heading; they do not dictate
      any additional requirements on a gateway.



Alvestrand                  Standards Track                     [Page 3]

RFC 2157                X.400/MIME Body Mapping             January 1998


   The words MUST, SHOULD and MAY, when capitalized, are used as defined
   in RFC 2119 [MUST].

2.  Basic rules for body part conversion

   The basic approach for translating body parts is described in section
   2.1 and 2.2.

   Chapter 3 gives details on "encapsulation", which allows you to be
   certain that no information is lost even when unknown types are
   encountered.

   Chapter 6 gives the core mappings for various body parts.

   The conformance requirements in chapter 8 describe what the minimum
   conformance for a MIXER gateway is with respect to body part
   conversion.

   DISCUSSION:

   At the moment both the MIME and the X.400 worlds seem to be in a
   stable state of flux with regards to carrying around stuff that is
   not text.  In such a situation, there is little chance of defining a
   mapping between them that is the best for all people, all of the
   time.  For this reason, this specification allows a gateway
   considerable latitude in deciding exactly what conversion to apply.

   The decision taken by the gateway may be based on various information
   sources:

   (1)   If the gateway knows what body parts or content
         types the recipient is able to handle, or has
         registered a particular set of preferences for a
         user, and knows how to convert the message
         reasonably to those body parts, the gateway may
         choose to convert body parts in the message to
         those types only.

   (2)   If the gateway gets indications (via special
         headers or heading-extensions defined for the
         purpose) that the sender wanted a particular
         representation on the "other side", and the gateway
         is able to satisfy the request, it may do so. Such
         a mechanism is defined in chapter 4 of this
         document.






Alvestrand                  Standards Track                     [Page 4]

RFC 2157                X.400/MIME Body Mapping             January 1998


   (3)   If the gateway gets a message that might be
         appropriate to send as one out of several types,
         but where the typing information does not tell you
         which one to use (like an X.400 BP14, FTAM "just a
         file", or MIME application/octet-stream), it may
         apply heuristics like looking at content or looking
         at filenames to figure out how to deal with the
         message.

   (4)   If the gateway knows that the next hop for the
         message has limited capabilities (like X.400/84),
         it may choose to perform conversions appropriate
         for that medium.

   (5)   Where no mapping is known by  the  gateway,  it
         may  choose  to  drop the body part, reject the
         message, or encapsulate the body  part  as
         described  in  chapter 3.  The choice may be
         configurable, but a conformant MIXER gateway  MUST
         be able to be configured for encapsulation.

   In many cases, a message that goes SMTP->X.400->SMTP will arrive
   without loss of information.

   In some cases, the reverse translation may not be possible, or two
   gateways may choose to apply different translations, based on the
   criteria above, leading to an apparently inconsistent service.

   In addition, service will vary because some gateways will have
   implemented conversions not implemented by other gateways.

   This is believed to be unavoidable.

2.1.  Generating the IPM Body from MIME

   When converting the body of a message from MIME to X.400, the
   following steps are taken:

   If the header does not contain a 822.MIME-Version field, then
   generate an IPMS.Body with a single IPMS.BodyPart of type
   IPMS.IA5TextBodyPart containing the body of the RFC 822 message with
   IPMS.IA5TextBodyPart.parameters.repertoire set to the default (IA5).

   If 822.MIME-Version is present, the body is analyzed as a MIME
   message and the body is converted according to the mappings
   configured and implemented in the gateway.





Alvestrand                  Standards Track                     [Page 5]

RFC 2157                X.400/MIME Body Mapping             January 1998


2.2.  Generating the MIME Body from the IPMS.Body

   When converting the body of a message from X.400 to MIME, the
   following steps are taken:

   If there is more than one body part, and the first body part is IA5
   and starts with the string "RFC-822-Headers:"  as the first line,
   then the remainder of this body part shall be appended to the RFC 822
   header.  This relies upon the theory that this body part has been
   generated according to Appendix B of MIXER.  A gateway shall check
   the consistency and syntax of this body part, to ensure that the
   resulting message is conformant with RFC 822.

   If the remaining IPMS.Body consists of a single IPMS.Bodypart, there
   are three possibilities.

   (1)   If it is of type IPMS.IA5Text, and the first line
         is "MIME-Version: 1.0", it is assumed to be a
         HARPOON-encapsulated body part. The complete body
         content is then appended to the headers; the
         separating blank line is inside the message. If an
         RFC 822 syntax error is discovered inside the
         message, it may be mapped directly as described
         below instead.


   (2)   If it is of type IPMS.IA5Text, then this is mapped
         directly and the default MIME encoding (7bit) is
         used, unless very long lines or non-ASCII or
         control characters are found in the body part, in
         which case Quoted-Printable SHOULD be used.


   (3)   All other types are mapped according to the
         mappings configured and implemented in the gateway.


   If the IPMS.Body contains multiple IPMS.Bodypart fields, then a MIME
   message of content type multipart is generated.  If all of the body
   parts are messages, then this is multipart/digest.  Otherwise it is
   multipart/mixed.  The components of the multipart are generated in
   the same order as in the IPMS.Body.

   Each component is mapped according to the mappings configured and
   implemented in the gateway; any IA5 body parts are checked to see if
   they are HARPOON mappings, as described above.





Alvestrand                  Standards Track                     [Page 6]

RFC 2157                X.400/MIME Body Mapping             January 1998


2.3.  Mapping the EMA FTBP parameters

⌨️ 快捷键说明

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