5.1.1. Common Syntax
 共通構文

This section defines a common syntax for subtypes of "multipart". All subtypes of "multipart" must use this syntax. A simple example of a multipart message also appears in this section. An example of a more complex multipart message is given in RFC 2049.

このセクションは「multipart」のサブタイプのために共通の構文を定義します。「multipart」のすべてのサブタイプはこの構文を使わなければなりません。複数パートメッセージの単純な例はまたこのセクションに出ます。より複雑な複数パートメッセージの例はRFC 2049の中であげられます。

The Content-Type field for multipart entities requires one parameter, "boundary". The boundary delimiter line is then defined as a line consisting entirely of two hyphen characters ("-", decimal value 45) followed by the boundary parameter value from the Content-Type header field, optional linear whitespace, and a terminating CRLF.

複数パート実体のためのContent-Typeフィールドは1つのパラメータ、「バウンダリ」を必要としています。 バウンダリの区切り行はその時バウンダリパラメータ値がContent-Typeヘッダーフィールド、オプションの線形の空白、および終了CRLFから後に続く2つのハイフンキャラクタ(「-」、10進値45)からすべて成る行と定義されます。

NOTE: The hyphens are for rough compatibility with the earlier RFC 934 method of message encapsulation, and for ease of searching for the boundaries in some implementations. However, it should be noted that multipart messages are NOT completely compatible with RFC 934 encapsulations; in particular, they do not obey RFC 934 quoting conventions for embedded lines that begin with hyphens. This mechanism was chosen over the RFC 934 mechanism because the latter causes lines to grow with each level of quoting. The combination of this growth with the fact that SMTP implementations sometimes wrap long lines made the RFC 934 mechanism unsuitable for use in the event that deeply-nested multipart structuring is ever desired.

注意事項: ハイフンは、メッセージカプセル封じのより早いRFC 934方法との荒い互換性のため、そしていくつかのインプリメンテーションの中のバウンダリのために検索する容易さのためにです。しかし、複数パートメッセージがRFC 934カプセル封じと完全に互換のNOTであることは注目されるべきです; 特に、彼らは、ハイフンから始まる埋め込まれた行のために規定を引用しているRFC 934に従いません。後者が行を、各引用するレベルによって成長させるので、このメカニズムはRFC 934メカニズムに優先されました。深く入れ子にされた複数パート構造化がこれまで要求される場合に、SMTPインプリメンテーションが時々長距離回線を包むという事実を持つこの成長のコンビネーションはRFC 934メカニズムを使用に不適にしました。

WARNING TO IMPLEMENTORS: The grammar for parameters on the Content-type field is such that it is often necessary to enclose the boundary parameter values in quotes on the Content-type line. This is not always necessary, but never hurts. Implementors should be sure to study the grammar carefully in order to avoid producing invalid Content-type fields. Thus, a typical "multipart" Content-Type header field might look like this:

実装者への警告: Content-Typeフィールドの上のパラメータのための文法は、Content-Type行の上の引用文の中でバウンダリパラメータ値を同封することがしばしば必要であるほどです。これはいつも必要なわけではないけれども、決して、痛みません。 作成者は、無効なContent-Typeフィールドを生み出すのを避けるために文法を必ず慎重に勉強するべきです。従って、典型的な「複数パート」Content-Typeヘッダーフィールドはこのように見えるかもしれません:

Content-Type: multipart/mixed; boundary=gc0p4Jq0M2Yt08j34c0p

But the following is not valid:

しかし、以下は有効でありません:

Content-Type: multipart/mixed; boundary=gc0pJq0M:08jU534c0p

(because of the colon) and must instead be represented as

(コロンのため)そして、代わりに、それとして説明されなければなりません

Content-Type: multipart/mixed; boundary="gc0pJq0M:08jU534c0p"

This Content-Type value indicates that the content consists of one or more parts, each with a structure that is syntactically identical to an RFC 822 message, except that the header area is allowed to be completely empty, and that the parts are each preceded by the line

このContent-Type値は、ヘッダーエリアが、完全に空であることを許される以外、それぞれ、RFC 822メッセージに統語的に同一の構造によって、内容が1つ以上の部分から成り、部分が行をそれぞれ付けられることを示します。

--gc0pJq0M:08jU534c0p

The boundary delimiter MUST occur at the beginning of a line, i.e., following a CRLF, and the initial CRLF is considered to be attached to the boundary delimiter line rather than part of the preceding part. The boundary may be followed by zero or more characters of linear whitespace. It is then terminated by either another CRLF and the header fields for the next part, or by two CRLFs, in which case there are no header fields for the next part. If no Content-Type field is present it is assumed to be "message/rfc822" in a "multipart/digest" and "text/plain" otherwise.

バウンダリデリミタは、行の最初に起こり、すなわちCRLFに続かなければならず、イニシャルCRLFは、先行部分の一部というよりもバウンダリの区切り行に付属すると考えられます。バウンダリに0文字以上の線形の空白が続いているかもしれません。 それは、別のCRLFとケースの中に、次の部分のためのヘッダーフィールドが全然ない次の部分のためのまたは2つのCRLFsによるヘッダーフィールドによってその時終了させられます。どのContent-Typeフィールドも存在しないならば、それは、違った形で「multipart/digest」と「text/plain」において「message/rfc822」であると仮定されます。

NOTE: The CRLF preceding the boundary delimiter line is conceptually attached to the boundary so that it is possible to have a part that does not end with a CRLF (line break). Body parts that must be considered to end with line breaks, therefore, must have two CRLFs preceding the boundary delimiter line, the first of which is part of the preceding body part, and the second of which is part of the encapsulation boundary.

注意事項: CRLF(改行)と終わらない部分を持つことが可能であるように、バウンダリの区切り行に先行しているCRLFはバウンダリに概念的に付属します。従って、改行によって終わると考えられなければならないボディ部分はバウンダリの区切り行に先行している2つのCRLFsを持たなければなりません(それの一番目は先行ボディ部分の一部であり、二番目がカプセル封じバウンダリの一部です)。

Boundary delimiters must not appear within the encapsulated material, and must be no longer than 70 characters, not counting the two leading hyphens.

バウンダリデリミタはカプセル化した素材の中で出現してはならず、2つの主要なハイフンをカウントしないで70文字以上であってはなりません。

The boundary delimiter line following the last body part is a distinguished delimiter that indicates that no further body parts will follow. Such a delimiter line is identical to the previous delimiter lines, with the addition of two more hyphens after the boundary parameter value.

最後のボディ部分に続いているバウンダリの区切り行は、もうこれ以上のボディ部分が全然続かないであろうということを示す区別されたデリミタです。そのような区切り行はバウンダリパラメータ値の後のあと2つのハイフンの加算によって前の区切り行に同一です。

--gc0pJq0M:08jU534c0p--

NOTE TO IMPLEMENTORS: Boundary string comparisons must compare the boundary value with the beginning of each candidate line. An exact match of the entire candidate line is not required; it is sufficient that the boundary appear in its entirety following the CRLF.

実装者への注意事項: バウンダリストリング比較は境界値を各対象行の最初と比較しなければなりません。対象行全体の正確な一致は必要とされていません; CRLFに続いているその全体の中でバウンダリが出現することは十分です。

There appears to be room for additional information prior to the first boundary delimiter line and following the final boundary delimiter line. These areas should generally be left blank, and implementations must ignore anything that appears before the first boundary delimiter line or after the last one.

最初のバウンダリの区切り行に先がけて付加情報と最終的なバウンダリの区切り行をたどることのための場所があるように思われます。これらのエリアは一般にブランクであるままにしておかれるべきであり、インプリメンテーションは、最初のバウンダリの区切り行の前または最後のものの後で出現する何でも無視しなければなりません。

NOTE: These "preamble" and "epilogue" areas are generally not used because of the lack of proper typing of these parts and the lack of clear semantics for handling these areas at gateways, particularly X.400 gateways. However, rather than leaving the preamble area blank, many MIME implementations have found this to be a convenient place to insert an explanatory note for recipients who read the message with pre-MIME software, since such notes will be ignored by MIME-compliant software.

注意事項: これらの「preamble (前文)」と「epilogue(末文)」エリアは、一般に、ゲートウェイ、特にX.400ゲートウェイでこれらのエリアを処理するためにこれらの部分の適切なタイピングの不足とクリアな意味論の不足のため使われません。しかし、前文領域をブランクであるままにしておくというよりも、多くのMIMEの実装は、これを、そのような注がMIME準拠のソフトウェアによって無視されるであろうので、前MIMEソフトウェアを持つメッセージを読んだ受領者のために注釈を挿入する便利な場所であると気付きました。

NOTE: Because boundary delimiters must not appear in the body parts being encapsulated, a user agent must exercise care to choose a unique boundary parameter value. The boundary parameter value in the example above could have been the result of an algorithm designed to produce boundary delimiters with a very low probability of already existing in the data to be encapsulated without having to prescan the data. Alternate algorithms might result in more "readable" boundary delimiters for a recipient with an old user agent, but would require more attention to the possibility that the boundary delimiter might appear at the beginning of some line in the encapsulated part. The simplest boundary delimiter line possible is something like "---", with a closing boundary delimiter line of "-----".

注意事項: バウンダリデリミタがカプセル化している体部分に出てはならないので、ユーザエージェントは、唯一のバウンダリパラメータ値を選ぶために注意を払わなければなりません。上の例におけるバウンダリパラメータ値は、プリスキャンにデータを持たずにカプセル化するデータの中にすでに存在する非常に低い確率によってバウンダリデリミタを生み出すようにデザインされたアルゴリズムの結果であったかもしれません。交互のアルゴリズムは古いユーザエージェントと受領者のためにより「読取り可能の」バウンダリデリミタを結果として生じるかもしれないけれども、バウンダリデリミタがカプセル化した部分のいくらかの行の最初に出現するかもしれないという可能性へのより多くの配慮を必要とするでしょう。可能な最も簡単なバウンダリの区切り行は「-----」の閉局中のバウンダリの区切り行を持つ「---」のような何かです。

As a very simple example, the following multipart message has two parts, both of them plain text, one of them explicitly typed and one of them implicitly typed:

非常に単純な例として、以下の複数パートメッセージは2つの部分(それらの両方(普通テキスト、明示的にタイプされた彼らの1人、および暗黙にタイプされた彼らの1人))を持っています:

From: Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com>
Date: Sun, 21 Mar 1993 23:56:48 -0800 (PST)
Subject: Sample message
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="simple boundary"

This is the preamble.  It is to be ignored, though it     ; *1
is a handy place for composition agents to include an
explanatory note to non-MIME conformant readers.

--simple boundary

This is implicitly typed plain US-ASCII text.             ; *2
It does NOT end with a linebreak.
--simple boundary
Content-type: text/plain; charset=us-ascii

This is explicitly typed plain US-ASCII text.             ; *3
It DOES end with a linebreak.

--simple boundary--

This is the epilogue. It is also to be ignored.

これはその末文です。それはまた、無視されることになっています。

訳注
*1 これはその前文です。MIMEに準拠していないリーダをまねしないために合成エージェントが注釈を含むことが便利な場所であるけれども、それは、無視されることになっています。

*2 これは暗黙的に入力されているUS-ASCIIテキストです。 それはlinebreak(改行)によって終わりません。

*3 これは暗黙にタイプされた平易なUS-ASCIIテキストです。 それはlinebreak(改行)によって終わります。

The use of a media type of "multipart" in a body part within another "multipart" entity is explicitly allowed. In such cases, for obvious reasons, care must be taken to ensure that each nested "multipart" entity uses a different boundary delimiter. See RFC 2049 for an example of nested "multipart" entities.

別の「multipart」実体の中のボディ部分の「multipart」のメディアタイプの使用は明示的に許されます。明らかな理由のためのそのような場合に、注意は、各入れ子にされた「multipart」実体が違うバウンダリデリミタを使うと保証するために払われなければなりません。入れ子にされた「multipart」実体の例のためにRFC 2049を見てください。

The use of the "multipart" media type with only a single body part may be useful in certain contexts, and is explicitly permitted.

1つのボディ部分だけを持つ「multipart」メディアタイプの使用は一定のコンテキストの中で有益であるかもしれず、明示的に許されます。

NOTE: Experience has shown that a "multipart" media type with a single body part is useful for sending non-text media types. It has the advantage of providing the preamble as a place to include decoding instructions. In addition, a number of SMTP gateways move or remove the MIME headers, and a clever MIME decoder can take a good guess at multipart boundaries even in the absence of the Content-Type header and thereby successfully decode the message.

注意事項: 経験は、1つのボディ部分を持つ「multipart」メディアタイプが、非テキストメディアタイプを送ることに有益であることを示しました。それは、デコーディング指示を含むために場所としてプリアンブルを提供する利点を持っています。さらに、多くのSMTPゲートウェイはMIMEヘッダーを移動するか、削除し、賢いMIMEデコーダはContent-Typeヘッダーの不在におけるさえ複数パートバウンダリで見事な推測をとり、従って首尾よくメッセージを解読することができます。

The only mandatory global parameter for the "multipart" media type is the boundary parameter, which consists of 1 to 70 characters from a set of characters known to be very robust through mail gateways, and NOT ending with white space. (If a boundary delimiter line appears to end with white space, the white space must be presumed to have been added by a gateway, and must be deleted.) It is formally specified by the following BNF:

「multipart」メディアタイプのための唯一の義務的なグローバルなパラメータはバウンダリパラメータです(メールゲートウェイを通して非常に頑強であると知られているキャラクタのセットと空白類によって終わっているNOTから、それは1から70文字から成ります)。 (バウンダリの区切り行が、空白類によって終わるようならば、空白類は、ゲートウェイによって追加されていると推定されなければならず、削除されなければなりません。)それは以下BNFによってフォーマルに指定されます:

boundary := 0*69<bchars> bcharsnospace

bchars := bcharsnospace / " "

bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" /
                 "+" / "_" / "," / "-" / "." /
                 "/" / ":" / "=" / "?"

Overall, the body of a "multipart" entity may be specified as follows:

全体に、「multipart」実体のボディは次の通り指定されるかもしれません:

dash-boundary := "--" boundary
                 ; boundary taken from the value of
                 ; boundary parameter of the
                 ; Content-Type field.
    ; Content-Typeフィールドのバウンダリパラメータの値からとられたバウンダリ。

multipart-body := [preamble CRLF]
                  dash-boundary transport-padding CRLF
                  body-part *encapsulation
                  close-delimiter transport-padding
                  [CRLF epilogue]

transport-padding := *LWSP-char
                     ; Composers MUST NOT generate
                     ; non-zero length transport
                     ; padding, but receivers MUST
                     ; be able to handle padding
                     ; added by message transports.
    ; コンポーザーは0でない長さのトランスポート充てん文字を生成しては
    ; ならないけれども、レシーバは、メッセージトランスポートによって
    ; 追加された充てん文字を処理することができなければなりません。

encapsulation := delimiter transport-padding
                 CRLF body-part

delimiter := CRLF dash-boundary

close-delimiter := delimiter "--"

preamble := discard-text

epilogue := discard-text

discard-text := *(*text CRLF) *text
                ; May be ignored or discarded.
    ; 無視されるか、処分されることができます。

body-part := MIME-part-headers [CRLF *OCTET]
             ; Lines in a body-part must not start
             ; with the specified dash-boundary and
             ; the delimiter must not appear anywhere
             ; in the body part.  Note that the
             ; semantics of a body-part differ from
             ; the semantics of a message, as
             ; described in the text.
    ; ボディ部分の行は指定されたダッシュバウンダリによって起動してはならず、
    ; デリミタはどこでもボディ部分に出てはなりません。テキストの中で
    ; 説明されるように、ボディ部分の意味論がメッセージの意味論と
    ; 異なることに注意してください。

OCTET := <any 0-255 octet value>
    ; <0-255 の任意の8ビットバイト値>

IMPORTANT: The free insertion of linear-white-space and RFC 822 comments between the elements shown in this BNF is NOT allowed since this BNF does not specify a structured header field.

重要: このBNFにおいて示されたエレメントへの線形の空白類とRFC 822のコメントの自由な挿入物は、このBNFが構造化されたヘッダーフィールドを指定しないので許されていません。

NOTE: In certain transport enclaves, RFC 822 restrictions such as the one that limits bodies to printable US-ASCII characters may not be in force. (That is, the transport domains may exist that resemble standard Internet mail transport as specified in RFC 821 and assumed by RFC 822, but without certain restrictions.) The relaxation of these restrictions should be construed as locally extending the definition of bodies, for example to include octets outside of the US-ASCII range, as long as these extensions are supported by the transport and adequately documented in the Content- Transfer-Encoding header field. However, in no event are headers (either message headers or body part headers) allowed to contain anything other than US-ASCII characters.

注意事項: 一定のトランスポート飛び地で、ボディを印刷可能US-ASCII文字に制限するものなどのRFC822制限は作用していないかもしれません。 (RFC 821中で指定されて、RFC 822によって仮定されるように、すなわちトランスポートドメインは存在するかもしれない(それが標準のインターネットメールトランスポートと似ています)けれども、一定の制限なしでです。) これらの拡張がトランスポートによってサポートされて、コンテンツ転送エンコーディングヘッダーフィールドで適正に文書化される限り、これらの制限の緩和は、例えばUS-ASCII範囲の外に8ビットバイトを含むためにボディの定義を拡張して、ローカルに分析されるべきです。しかし、どのイベントの中にも、US-ASCII文字以外の何かを含むことを許された(メッセージヘッダまたはボディ部分ヘッダーのどちらかの)ヘッダーがありません。

NOTE: Conspicuously missing from the "multipart" type is a notion of structured, related body parts. It is recommended that those wishing to provide more structured or integrated multipart messaging facilities should define subtypes of multipart that are syntactically identical but define relationships between the various parts. For example, subtypes of multipart could be defined that include a distinguished part which in turn is used to specify the relationships between the other parts, probably referring to them by their Content-ID field. Old implementations will not recognize the new subtype if this approach is used, but will treat it as multipart/mixed and will thus be able to show the user the parts that are recognized.

注意事項: 構造化されて、関連したボディ部分の観念は「multipart」タイプから目立って行方不明です。 機能をメッセージで送っている多くの構造化されたか、統合した複数パートを提供することを望んでいるそれらが、統語的に同一であるけれども様々な部分の間の関係を定義する複数パートのサブタイプを定義するべきであることは勧められます。 例えば、複数パートのサブタイプは定義されることができました(それが、次々、たぶんそれらのContent-IDフィールドによってそれらに関して、他の部分の間の関係を指定するために使われる区別された部分を含みます)。このアプローチが使われるならば、古いインプリメンテーションは新しいサブタイプを認識しないであろうけれども、複数パートとしてそれを扱うでしょう/、混ざり、従って、ユーザに、認められている部分を見せることができるでしょう。

5.1.2. Handling Nested Messages and Multiparts
 ネストされた Messages と Multiparts の取り扱い

The "message/rfc822" subtype defined in a subsequent section of this document has no terminating condition other than running out of data. Similarly, an improperly truncated "multipart" entity may not have any terminating boundary marker, and can turn up operationally due to mail system malfunctions.

データを使い果たす以外、この文書のその後のセクションの中で定義された「message/rfc822」サブタイプは終了条件を全然持っていません。同様に、不適切に切り捨てられた「multipart」実体はどのような終了バウンダリマーカも持たないかもしれず、システム誤動作をメールするために操作上賦課金を見つけることができます。

It is essential that such entities be handled correctly when they are themselves imbedded inside of another "multipart" structure. MIME implementations are therefore required to recognize outer level boundary markers at ANY level of inner nesting. It is not sufficient to only check for the next expected marker or other terminating condition.

それらが自身で別の「multipart」構造の中に埋め込まれる時に、そのような実体が正しく処理されることは必須です。MIMEインプリメンテーションは、従って、内側のネスティングのANYレベルで外の水平のバウンダリマーカを認識するために必要とされています。次の予期されているマーカまたは他の終了条件をチェックするだけであることは十分でありません。

5.1.3. Mixed Subtype
 Mixed サブタイプ

The "mixed" subtype of "multipart" is intended for use when the body parts are independent and need to be bundled in a particular order. Any "multipart" subtypes that an implementation does not recognize must be treated as being of subtype "mixed".

ボディ部分が独立で、特定の注文の中でバンドルされる必要がある時に、「multipart」の「mixed(混ぜられる)」サブタイプは使用のために意図されています。インプリメンテーションが認識していないどのような「multipart」サブタイプでも、サブタイプ「mixed」をもっていることとみなされなければなりません。

5.1.4. Alternative Subtype
 Alternative サブタイプ

The "multipart/alternative" type is syntactically identical to "multipart/mixed", but the semantics are different. In particular, each of the body parts is an "alternative" version of the same information.

「multipart/alternative」タイプは「multipart/mixed」に統語的に同一であるけれども、意味論は違います。特に、ボディ部分のそれぞれは同じ情報の「代替の」バージョンです。

Systems should recognize that the content of the various parts are interchangeable. Systems should choose the "best" type based on the local environment and references, in some cases even through user interaction. As with "multipart/mixed", the order of body parts is significant. In this case, the alternatives appear in an order of increasing faithfulness to the original content. In general, the best choice is the LAST part of a type supported by the recipient system's local environment.

システムは、様々な部分の内容が交換可能であると認めるべきです。システムは場合によってはユーザインタラクションを通してさえローカルな環境とリファレンスに基づいた「最もよい」タイプを選ぶべきです。「multipart/mixed」と同様に、ボディ部分の注文は有意です。この場合に、オリジナルの内容に忠実さを増大させる注文の中で、ほかにとりうる方法は出現します。一般に、最良の選択は受領したシステムのローカルな環境によってサポートされたタイプの最後の部分です。

"Multipart/alternative" may be used, for example, to send a message in a fancy text format in such a way that it can easily be displayed anywhere:

「Multipart/alternative」は、例えば、それが容易にどこででも表示されることができるそのような方法で装飾的なテキスト形式の中のメッセージを送信するために使われるかもしれません:

From: Nathaniel Borenstein <nsb@bellcore.com>
To: Ned Freed <ned@innosoft.com>
Date: Mon, 22 Mar 1993 09:41:09 -0800 (PST)
Subject: Formatted text mail
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary=boundary42

--boundary42
Content-Type: text/plain; charset=us-ascii

  ... plain text version of message goes here ...
  (… メッセージの普通テキストバージョンはここに …)

--boundary42
Content-Type: text/enriched

  ... RFC 1896 text/enriched version of same message
      goes here ...
  (… 同じメッセージのRFC 1896 text/enriched バージョンはここに …)


--boundary42
Content-Type: application/x-whatever

  ... fanciest version of same message goes here ...
  (… 同じメッセージの最も装飾的なバージョンはここに …)

--boundary42--

〔訳注:上記のメール本文を全て訳しましたが、本当に日本語を本文へ記述する場合は、Content-typeで日本語の指定をしたり、base64などへ変換したりしなければなりません〕

In this example, users whose mail systems understood the "application/x-whatever" format would see only the fancy version, while other users would see only the enriched or plain text version, depending on the capabilities of their system.

この例において、メールシステムが「application/x-whatever」でもフォーマットを理解していたユーザは装飾的なバージョンだけを見るしょう。一方、他のユーザは、彼らのシステムの能力に依存して、豊かにされたか、普通テキストのバージョンだけを見るでしょう。

In general, user agents that compose "multipart/alternative" entities must place the body parts in increasing order of preference, that is, with the preferred format last. For fancy text, the sending user agent should put the plainest format first and the richest format last. Receiving user agents should pick and display the last format they are capable of displaying. In the case where one of the alternatives is itself of type "multipart" and contains unrecognized sub-parts, the user agent may choose either to show that alternative, an earlier alternative, or both.

一般に「multipart/alternative」実体を創作するユーザエージェントは、最後にボディ部分を、好みの順を増大させることに、すなわち好まれたフォーマットによって置かなければなりません。装飾的なテキストのために、送信ユーザエージェントは最後に最も平易なフォーマット一番目と最も豊かなフォーマットを置くべきです。受け取っているユーザエージェントは、彼らが、表示することが可能な最後のフォーマットを選び、表示するべきです。ほかにとりうる方法の1つが自身でタイプ「multipart」をもっていて、認められないサブ部分を含んでいるケースの中で、ユーザエージェントは、そのほかにとりうる方法、先のほかにとりうる方法、または両方を示すことに決めることができます。

NOTE: From an implementor's perspective, it might seem more sensible to reverse this ordering, and have the plainest alternative last. However, placing the plainest alternative first is the friendliest possible option when "multipart/alternative" entities are viewed using a non-MIME-conformant viewer. While this approach does impose some burden on conformant MIME viewers, interoperability with older mail readers was deemed to be more important in this case.

注意事項: 作成者のパースペクティブから、それは、このオーダリングをリバースし、最後に最も平易なほかにとりうる方法を持つことがより賢明であるようであるかもしれません。しかし、「multipart/alternative」実体が、MIMEに準拠していないビュアーを使って、見られる時に、最初に最も平易なほかにとりうる方法を置くことは最も友好的な可能なオプションです。このアプローチがMIMEに準拠したビュアーにいくらかの負担を課す間、より古いメールリーダとの相互運用性は、この場合により重要でと考えられていました。

It may be the case that some user agents, if they can recognize more than one of the formats, will prefer to offer the user the choice of which format to view. This makes sense, for example, if a message includes both a nicely- formatted image version and an easily-edited text version. What is most critical, however, is that the user not automatically be shown multiple versions of the same data. Either the user should be shown the last recognized version or should be given the choice.

それらのユーザエージェントが、彼らがフォーマットの1つ以上を認めることができるならば、どのフォーマットを見るかの選択をユーザに提供することを好むであろうのはそのケースであるかもしれません。メッセージがきちんとフォーマットされたイメージバージョンと容易に編集されたテキストバージョンの両方を含むならば、例えばこれは意味をなします。しかし、何がとても臨界であるかは、ユーザが自動的でないで同じデータの複数のバージョンを示されることです。ユーザは最後の認められているバージョンを示されるべきであるか、選択を与えられるべきです。

THE SEMANTICS OF CONTENT-ID IN MULTIPART/ALTERNATIVE: Each part of a "multipart/alternative" entity represents the same data, but the mappings between the two are not necessarily without information loss. For example, information is lost when translating ODA to PostScript or plain text. It is recommended that each part should have a different Content-ID value in the case where the information content of the two parts is not identical. And when the information content is identical -- for example, where several parts of type "message/external-body" specify alternate ways to access the identical data -- the same Content-ID field value should be used, to optimize any caching mechanisms that might be present on the recipient's end. However, the Content-ID values used by the parts should NOT be the same Content-ID value that describes the "multipart/alternative" as a whole, if there is any such Content-ID field. That is, one Content-ID value will refer to the "multipart/alternative" entity, while one or more other Content-ID values will refer to the parts inside it.

multipart/alternative の content-id の語義: 「multipart/alternative」実体の各部分は同じデータを表しているけれども、両者の間のマッピングは必ずしも情報損失なしでではありません。例えば、情報はPostScriptまたは普通テキストにODAを翻訳する時になくされます。各部分が、2つの部分の情報量が同一でないケースにおいて違うContent-ID値を持つべきであることは勧められます。そして、情報量が、同一の--例えば、タイプ「メッセージ/外部の団体」の指定のいくつかの部分が、同一のデータにアクセスする方法を交替する所--時に、受領者の終わりに存在するかもしれないどのようなキャッシングメカニズムでも最適化するために、同じコンテンツIDフィールド値は使われるべきです。しかし、そのようなContent-IDフィールドがあるならば、部分によって使われたContent-ID値は「multipart/alternative」を全体として説明するのと同じContent-ID値であるべきでありません。すなわち一方のContent-ID値が「multipart/alternative」実体を参照するであろう一方、ひとつ以上の他のContent-ID値がそれの中で部分を参照するでしょう。

5.1.5. Digest Subtype
 Digest サブタイプ

This document defines a "digest" subtype of the "multipart" Content-Type. This type is syntactically identical to "multipart/mixed", but the semantics are different. In particular, in a digest, the default Content-Type value for a body part is changed from "text/plain" to "message/rfc822". This is done to allow a more readable digest format that is largely compatible (except for the quoting convention) with RFC 934.

この文書は「multipart」Content-Typeの「ダイジェスト」サブタイプを定義します。このタイプは「multipart/mixed」に統語的に同一であるけれども、意味論は違います。ダイジェストの特に中で、ボディ部分のためのデフォルトContent-Type値は「text/plain」から「message/rfc822」に変更されます。これは、主としてRFC 934によって互換の(引用規定を除いて)より読取り可能のダイジェストフォーマットを許すためにされます。

Note: Though it is possible to specify a Content-Type value for a body part in a digest which is other than "message/rfc822", such as a "text/plain" part containing a description of the material in the digest, actually doing so is undesireble. The "multipart/digest" Content-Type is intended to be used to send collections of messages. If a "text/plain" part is needed, it should be included as a seperate part of a "multipart/mixed" message.

注意事項: それが、ダイジェストの中に素材の説明を含んでいる「text/plain」部分などの「message/rfc822」以外であるダイジェストの中でボディ部分のためのContent-Type値を指定するために可能であるけれども、実際そうすることは要求されません。 「複数パート/ダイジェスト」Content-Typeは、メッセージのコレクションを送るために使われることを意図しています。「text/plain」部分が必要ならば、それは「multipart/mixed」メッセージの分離部分の一部として含まれるべきです。

A digest in this format might, then, look something like this:

このフォーマットの中のダイジェストはするかもしれず、そして、このような何かのようであってください:

From: Moderator-Address
To: Recipient-List
Date: Mon, 22 Mar 1994 13:34:51 +0000
Subject: Internet Digest, volume 42
MIME-Version: 1.0
Content-Type: multipart/mixed;
              boundary="---- main boundary ----"

------ main boundary ----

  ...Introductory text or table of contents...
  (… 入門のテキストまたは目次 …)

------ main boundary ----
Content-Type: multipart/digest;
              boundary="---- next message ----"

------ next message ----

From: someone-else
Date: Fri, 26 Mar 1993 11:13:32 +0200
Subject: my opinion

  ...body goes here ...
  (… ボディはここ …)

------ next message ----

From: someone-else-again
Date: Fri, 26 Mar 1993 10:07:13 -0500
Subject: my different opinion

  ... another body goes here ...
  (… 別のボディはここ …)

------ next message ------

------ main boundary ------

〔訳注:上記のメール文を全て訳しましたが、本当に日本語を本文に記述する場合は、Content-typeで日本語の指定をしたり、base64などへ変換したりしなければなりません〕

5.1.6. Parallel Subtype
 Parallel サブタイプ

This document defines a "parallel" subtype of the "multipart" Content-Type. This type is syntactically identical to "multipart/mixed", but the semantics are different. In particular, in a parallel entity, the order of body parts is not significant.

この文書は「multipart」Content-Typeの「並列の」サブタイプを定義します。このタイプは「multipart/mixed」に統語的に同一であるけれども、意味論は違います。並列の実体の特に中で、ボディ部分の注文は有意でありません。

A common presentation of this type is to display all of the parts simultaneously on hardware and software that are capable of doing so. However, composing agents should be aware that many mail readers will lack this capability and will show the parts serially in any event.

このタイプの共通のプレゼンテーションは、そうすることが可能なハードウェアとソフトウェアの上で同時に部分のすべてを表示することです。しかし、創作エージェントは、多くのメールリーダがこの能力を欠くであろうし、とにかく連続して部分を示すであろうということに気づいているべきです。

5.1.7. Other Multipart Subtypes
 他の Multipart サブタイプ

Other "multipart" subtypes are expected in the future. MIME implementations must in general treat unrecognized subtypes of "multipart" as being equivalent to "multipart/mixed".

他の「multipart」サブタイプは未来に予期されています。MIMEインプリメンテーションは一般に「multipart/mixed」と等しいこととして「multipart」の認められないサブタイプを扱わなければなりません。

5.2. Message Media Type
 Message メディアタイプ

It is frequently desirable, in sending mail, to encapsulate another mail message. A special media type, "message", is defined to facilitate this. In particular, the "rfc822" subtype of "message" is used to encapsulate RFC 822 messages.

別の私信メッセージをカプセル化することは、メールを送ることにおいて頻繁に望ましい。特殊なメディアタイプ、「メッセージ」は、これを容易にするために定義されます。特に、「メッセージ」の「rfc822」サブタイプは、RFC 822メッセージをカプセル化するために使われます。

NOTE: It has been suggested that subtypes of "message" might be defined for forwarded or rejected messages. However, forwarded and rejected messages can be handled as multipart messages in which the first part contains any control or descriptive information, and a second part, of type "message/rfc822", is the forwarded or rejected message. Composing rejection and forwarding messages in this manner will preserve the type information on the original message and allow it to be correctly presented to the recipient, and hence is strongly encouraged.

注意事項: 「メッセージ」のサブタイプが転送されたか、拒絶されたメッセージのために定義されるかもしれないことは提案されています。しかし、転送し、メッセージが、最初の部分がどのようなコントロールまたは記述の情報でも含んでいて、タイプ「message/rfc822」の2分の1が転送されたか、拒絶されたメッセージである複数パートメッセージとして処理されることができるのを拒絶しました。除外を創作し、この方法でメッセージを転送することは、オリジナルのメッセージについてのタイプ情報を保存し、それが受領者に正しく提出されることを可能にするでしょうし、それゆえ、強く奨励されます。

Subtypes of "message" often impose restrictions on what encodings are allowed. These restrictions are described in conjunction with each specific subtype.

「メッセージ」のサブタイプはしばしば、どんなエンコーディングが許されるかに制限を課します。これらの制限は各特定のサブタイプと連携して説明されます。

Mail gateways, relays, and other mail handling agents are commonly known to alter the top-level header of an RFC 822 message. In particular, they frequently add, remove, or reorder header fields. These operations are explicitly forbidden for the encapsulated headers embedded in the bodies of messages of type "message."

メールゲートウェイ、リレー、およびエージェントを扱っている他のメールは、一般的に、RFC 822メッセージのトップレベルのヘッダーを変更すると知られています。特に、彼らは頻繁にヘッダーフィールドを追加し、削除するか、再注文します。これらの操作はタイプ「メッセージ」のメッセージのボディに埋め込まれたカプセル化したヘッダーのために明示的に禁じられます。

5.2.1. RFC822 Subtype
 RFC822 サブタイプ

A media type of "message/rfc822" indicates that the body contains an encapsulated message, with the syntax of an RFC 822 message. However, unlike top-level RFC 822 messages, the restriction that each "message/rfc822" body must include a "From", "Date", and at least one destination header is removed and replaced with the requirement that at least one of "From", "Subject", or "Date" must be present.

「message/rfc822」のメディアタイプは、ボディがRFC 822メッセージのシンタックスによってカプセル化したメッセージを含んでいることを示します。トップレベルのRFC 822メッセージと違ってどのように、各「message/rfc822」が具体化する制限が「から」、「日付」、および少なくとも1つの宛先ヘッダーを含まなければならないかは、削除されて、「から」、「サブジェクト」、または「日付」の少なくとも1つが出席していなければならないという必要条件と置換されます。

It should be noted that, despite the use of the numbers "822", a "message/rfc822" entity isn't restricted to material in strict conformance to RFC822, nor are the semantics of "message/rfc822" objects restricted to the semantics defined in RFC822. More specifically, a "message/rfc822" message could well be a News article or a MIME message.

数「822」の使用にもかかわらず、「message/rfc822」実体がRFC 822への厳密な対応における素材に限定されないことは注目されるべきですが、RFC 822において定義された意味論に限定された「message/rfc822」オブジェクトの意味論です。 より特に、「message/rfc822」メッセージはうまくニュース記事またはMIMEメッセージであるかもしれません。

No encoding other than "7bit", "8bit", or "binary" is permitted for the body of a "message/rfc822" entity. The message header fields are always US-ASCII in any case, and data within the body can still be encoded, in which case the Content-Transfer-Encoding header field in the encapsulated message will reflect this. Non-US-ASCII text in the headers of an encapsulated message can be specified using the mechanisms described in RFC 2047.

「7ビット」、「8ビット」、または「2進です」以外のどのエンコーディングも「message/rfc822」実体のボディのために許されません。メッセージヘッダフィールドはいつもともかくUS-ASCIIであり、ボディの中のデータはまだ符号化されることができます(ケースの中で、カプセル化したメッセージの中のコンテンツ転送エンコーディングヘッダーフィールドがこれを反映するでしょう)。カプセル化したメッセージのヘッダーの中の非[Non-US]-ASCIIテキストは、RFC 2047の中で説明されたメカニズムを使って、指定されることができます。

5.2.2. Partial Subtype
 Partial サブタイプ

The "partial" subtype is defined to allow large entities to be delivered as several separate pieces of mail and automatically reassembled by a receiving user agent. (The concept is similar to IP fragmentation and reassembly in the basic Internet Protocols.) This mechanism can be used when intermediate transport agents limit the size of individual messages that can be sent. The media type "message/partial" thus indicates that the body contains a fragment of a larger entity.

「部分的な」サブタイプは、大型の実体がメールのいくつかの別個の断片として提供されて、受け取っているユーザエージェントによって自動的に再集合されることを可能にするために定義されます。(概念は基本のインターネットプロトコルの中のIP断片化と再アセンブリに類似しています。)中間の運送業者が、送られることができる個々のメッセージのサイズを制限する時に、このメカニズムは使われることができます。従って、メディアタイプ「message/partial」は、ボディがより大きな実体のフラグメントを含んでいることを示します。

Because data of type "message" may never be encoded in base64 or quoted-printable, a problem might arise if "message/partial" entities are constructed in an environment that supports binary or 8bit transport. The problem is that the binary data would be split into multiple "message/partial" messages, each of them requiring binary transport. If such messages were encountered at a gateway into a 7bit transport environment, there would be no way to properly encode them for the 7bit world, aside from waiting for all of the fragments, reassembling the inner message, and then encoding the reassembled data in base64 or quoted-printable. Since it is possible that different fragments might go through different gateways, even this is not an acceptable solution. For this reason, it is specified that entities of type "message/partial" must always have a content-transfer-encoding of 7bit (the default). In particular, even in environments that support binary or 8bit transport, the use of a content- transfer-encoding of "8bit" or "binary" is explicitly prohibited for MIME entities of type "message/partial". This in turn implies that the inner message must not use "8bit" or "binary" encoding.

タイプ「メッセージ」のデータが決してBase64またはquoted-printableにおいて符号化されないかもしれないので、「message/partial」実体が、二進または8ビットのトランスポートをサポートする環境の中で構成されるならば、問題は生じるかもしれません。問題は、バイナリデータが、それらのそれぞれがバイナリのトランスポートを必要として、複数の「message/partial」メッセージに分割されるであろうということです。そのようなメッセージが7ビットのトランスポート環境の中にゲートウェイで遭遇されたならば、内側のメッセージを再集合し、それからBase64またはquoted-printableにおいて再集合されたデータを符号化して、フラグメントのすべてを待つことは別として7ビットの世界のために適切にそれらを符号化する方法が全然ないでしょう。違うフラグメントが違うゲートウェイを通してなるかもしれないのが可能なので、これさえ受入れ可能な解決策ではありません。この理由のために、タイプ「message/partial」の実体がいつも7ビット(デフォルト)のcontent-transfer-encodingを持たなければならないことは指定されます。特に、二進または8ビットのトランスポートをサポートする環境の中で、「8ビット」または「バイナリ」のコンテンツ転送エンコーディングの使用はタイプ「message/partial」のMIME実体のために明示的に禁止されています。 これは、内側のメッセージが「8ビット」または「バイナリ」コード化を使ってはならないことを次々暗示しています。

Because some message transfer agents may choose to automatically fragment large messages, and because such agents may use very different fragmentation thresholds, it is possible that the pieces of a partial message, upon reassembly, may prove themselves to comprise a partial message. This is explicitly permitted.

何人かのメッセージ証券代行業者が、自動的に大型のメッセージを粉々にすることに決めることができるので、そしてそのようなエージェントが非常に違う断片化しきい値を使うことができるので、再アセンブリにおける部分的なメッセージの断片が、自身を、部分的なメッセージから成ると証明するかもしれないことは可能です。これは明示的に許されます。

Three parameters must be specified in the Content-Type field of type "message/partial": The first, "id", is a unique identifier, as close to a world-unique identifier as possible, to be used to match the fragments together. (In general, the identifier is essentially a message-id; if placed in double quotes, it can be ANY message-id, in accordance with the BNF for "parameter" given in RFC 2045.) The second, "number", an integer, is the fragment number, which indicates where this fragment fits into the sequence of fragments. The third, "total", another integer, is the total number of fragments. This third subfield is required on the final fragment, and is optional (though encouraged) on the earlier fragments. Note also that these parameters may be given in any order.

3つのパラメータがタイプmessage/partialのContent-Typeフィールドで指定されなければなりません:一番目、「ID」は、一緒にフラグメントとマッチするために使われるために可能な限り世界一意の名前に近い一意の名前です。(一般に、識別子は本質的にmessage-idです;二重引用符に置かれるならば、それはRFC 2045の中で与えられた「パラメータ」のためのBNFに従って少しmessage-idであるかもしれません。)2番目のThe、「数」、整数はフラグメント番号です(それは、どこでこのフラグメントがフラグメントのシーケンスに納まるかを示します)。3番目、「全部です」、別の整数は、フラグメントの総数です。この3番目のサブフィールドは最終的なフラグメントの上で必要とされていて、より早いフラグメントの上でオプションです(奨励されるけれども)。これらのパラメータがどのような注文の中ででも与えられるかもしれないことにまた注意してください。

Thus, the second piece of a 3-piece message may have either of the following header fields:

従って、3断片メッセージの2番目の断片は以下のヘッダーフィールドのどちらかを持つかもしれません:

Content-Type: Message/Partial; number=2; total=3;
              id="oc=jpbe0M2Yt4s@thumper.bellcore.com"

Content-Type: Message/Partial;
              id="oc=jpbe0M2Yt4s@thumper.bellcore.com";
              number=2

But the third piece MUST specify the total number of fragments:

しかし、3番目の断片はフラグメントの総数を指定しなければなりません:

Content-Type: Message/Partial; number=3; total=3;
              id="oc=jpbe0M2Yt4s@thumper.bellcore.com"

Note that fragment numbering begins with 1, not 0.

フラグメントナンバリングが0ではなく1から始まることに注意してください。

When the fragments of an entity broken up in this manner are put together, the result is always a complete MIME entity, which may have its own Content-Type header field, and thus may contain any other data type.

この方法で解体した実体のフラグメントがまとめられる時に、結果はいつも、それ自身のContent-Typeヘッダーフィールドを持つかもしれない完全なMIME実体であり、それから、どのような他のデータ型でも含むかもしれません。

5.2.2.1. Message Fragmentation and Reassembly
 メッセージフラグメンテーションと再アセンブリ

The semantics of a reassembled partial message must be those of the "inner" message, rather than of a message containing the inner message. This makes it possible, for example, to send a large audio message as several partial messages, and still have it appear to the recipient as a simple audio message rather than as an encapsulated message containing an audio message. That is, the encapsulation of the message is considered to be "transparent".

再集合された部分的なメッセージの意味論は内側のメッセージを含んでいるメッセージのというよりも「内圏」メッセージのそれらでなければなりません。これは、例えばいくつかの部分的なメッセージとして大型のオーディオのメッセージを送ることを可能にし、それでも、それをオーディオのメッセージを含んでいるカプセル化したメッセージとしてというよりも単純なオーディオのメッセージとして受領者に出現させてください。すなわちメッセージのカプセル封じは、「透過的である」と考えられます。

When generating and reassembling the pieces of a "message/partial" message, the headers of the encapsulated message must be merged with the headers of the enclosing entities. In this process the following rules must be observed:

「message/partial」メッセージの断片を生成し、再集合する時に、カプセル化したメッセージのヘッダーは取り囲んでいる実体のヘッダーによってマージされなければなりません。このプロセスの中で、以下の規則は遵守されなければなりません:

  1. Fragmentation agents must split messages at line boundaries only. This restriction is imposed because splits at points other than the ends of lines in turn depends on message transports being able to preserve the semantics of messages that don't end with a CRLF sequence. Many transports are incapable of preserving such semantics.

    断片化エージェントは行バウンダリだけでメッセージを分割しなければなりません。 行の終わり以外のポイントでのスプリットが次々、CRLFシーケンスによって終わらないメッセージの意味論を保存することができるメッセージトランスポートに依存するので、この制限は課されます。 多くのトランスポートは、そのような意味論を保存することが不可能です。

  2. All of the header fields from the initial enclosing message, except those that start with "Content-" and the specific header fields "Subject", "Message-ID", "Encrypted", and "MIME-Version", must be copied, in order, to the new message.

    初期の取り囲んでいるメッセージからのヘッダーフィールドのすべて、「Content-」によって起動するそれらを例外として省いてください。そうすれば、特定のヘッダーフィールド「サブジェクト」、「Message-ID」、「Encrypted」、および「MIME-Version」は新しいメッセージに注文の中でコピーされなければなりません。

  3. The header fields in the enclosed message which start with "Content-", plus the "Subject", "Message-ID", "Encrypted", and "MIME-Version" fields, must be appended, in order, to the header fields of the new message. Any header fields in the enclosed message which do not start with "Content-" (except for the "Subject", "Message-ID", "Encrypted", and "MIME-Version" fields) will be ignored and dropped.

    「サブジェクト」、「Message-ID」、「Encrypted」、および「MIME-Version」フィールドに加えて、「Content-」によって起動する同封されたメッセージの中のヘッダーフィールドは新しいメッセージのヘッダーフィールドに注文の中に付加されなければなりません。「内容-」(「サブジェクト」、「Message-ID」、「Encrypted」、および「MIME-Version」フィールドを除いて)によって起動しない同封されたメッセージの中のどのようなヘッダーフィールドでも無視されて、取り去さられるでしょう。

  4. All of the header fields from the second and any subsequent enclosing messages are discarded by the reassembly process.

    2番目の、そしてどのようなその後の取り囲んでいるメッセージからのヘッダーフィールドのすべてでも再アセンブリプロセスによって処分されます。