RFC 2822 3.6.6.

RFC 2822 3.6.6.

3.6.4. Identification fields

3.6.4. 識別子領域

Though optional, every message SHOULD have a "Message-ID:" field. Furthermore, reply messages SHOULD have "In-Reply-To:" and "References:" fields as appropriate, as described below.

省略可能ではありますが、各 message には「Message-ID:」領域が あるべきです。更に、返信 message には「In-Reply-To:」 および「References:」領域が次に説明するとおりあるべきです。

The "Message-ID:" field contains a single unique message identifier. The "References:" and "In-Reply-To:" field each contain one or more unique message identifiers, optionally separated by CFWS.

「Message-ID:」領域は一つの固有メッセージ識別子からなります。 「References:」および「In-Reply-To:」領域はそれぞれ 1つ以上の固有メッセージ識別子から成り、 CFWS で区切ることが出来ます。

The message identifier (msg-id) is similar in syntax to an addr-spec construct enclosed in the angle bracket characters, "<" and ">", without the internal CFWS.

メッセージ識別子 (msg-id) は角括弧「<」・「>」で囲まれて 内部に CFWS を入れることができない addr-spec の構文に似ています。

  message-id      =       "Message-ID:" msg-id CRLF
  in-reply-to     =       "In-Reply-To:" 1*msg-id CRLF
  references      =       "References:" 1*msg-id CRLF
  msg-id          =       [CFWS] "<" id-left "@" id-right ">" [CFWS]
  id-left         =       dot-atom-text / no-fold-quote / obs-id-left
  id-right        =       dot-atom-text / no-fold-literal / obs-id-right
  no-fold-quote   =       DQUOTE *(qtext / quoted-pair) DQUOTE
  no-fold-literal =       "[" *(dtext / quoted-pair) "]"

The "Message-ID:" field provides a unique message identifier that refers to a particular version of a particular message. The uniqueness of the message identifier is guaranteed by the host that generates it (see below). This message identifier is intended to be machine readable and not necessarily meaningful to humans. A message identifier pertains to exactly one instantiation of a particular message; subsequent revisions to the message each receive new message identifiers.

「Message-ID:」領域には特定のメッセージの特定の版を参照する 固有のメッセージ識別子がきます。メッセージ識別子の固有性は 生成したホストが保証します(下記参照)。このメッセージ識別子は 機械可読たることを想定していて、必ずしも人にとって意味のあるもの である必要はありません。メッセージ識別子は特定のメッセージの ただ一つの実体に対するものです。メッセージの後の改訂版にはそれぞれ 新しいメッセージ識別子をつけます。

Note: There are many instances when messages are "changed", but those changes do not constitute a new instantiation of that message, and therefore the message would not get a new message identifier. For example, when messages are introduced into the transport system, they are often prepended with additional header fields such as trace fields (described in section 3.6.7) and resent fields (described in section 3.6.6). The addition of such header fields does not change the identity of the message and therefore the original "Message-ID:" field is retained. In all cases, it is the meaning that the sender of the message wishes to convey (i.e., whether this is the same message or a different message) that determines whether or not the "Message-ID:" field changes, not any particular syntactic difference that appears (or does not appear) in the message.

参考: メッセージが「変更」された時には多くの実体が存在しますが、 その変更がメッセージの新しい実体を作るものでなければ、 新しいメッセージ識別子はつけません。例えば、メッセージが メッセージが転送系に入れられたとき、跡領域 (第3.6.7節で説明) や転送領域 (3.6.6節で説明) などの追加の頭領域が 付け加えられることがあります。このような頭領域の追加は メッセージの同一性を変えないので、元の「Message-ID:」領域が そのまま使われます。全ての場合において、 メッセージの送信者が (これは同じメッセージなのか違うメッセージなのか) メッセージに現れる (あるいは現れない) その他の構文的な違いではなく、 「Message-ID:」領域が変更されているかどうかで決めて欲しいと 願っていることを意味します。

The "In-Reply-To:" and "References:" fields are used when creating a reply to a message. They hold the message identifier of the original message and the message identifiers of other messages (for example, in the case of a reply to a message which was itself a reply). The "In-Reply-To:" field may be used to identify the message (or messages) to which the new message is a reply, while the "References:" field may be used to identify a "thread" of conversation.

「In-Reply-To:」及び「References:」両領域はメッセージへの返信を 作成する時に使います。この二つの内容は元のメッセージのメッセージ識別子や 他のメッセージ (例えばそれ自体返信であるメッセージへの返信の場合) のメッセージ識別子です。「In-Reply-To:」領域は新しいメッセージが 返信する先の (1つまたは複数の) メッセージを識別するのに使うことができ、 「References:」領域は会話の「スレッド」の同定に使うことが出来ます。

When creating a reply to a message, the "In-Reply-To:" and "References:" fields of the resultant message are constructed as follows:

メッセージへの返信を作る時、返信メッセージの「In-Reply-To:」および 「References:」両領域は次のように構成します。

The "In-Reply-To:" field will contain the contents of the "Message- ID:" field of the message to which this one is a reply (the "parent message"). If there is more than one parent message, then the "In- Reply-To:" field will contain the contents of all of the parents' "Message-ID:" fields. If there is no "Message-ID:" field in any of the parent messages, then the new message will have no "In-Reply-To:" field.

「In-Reply-To:」領域にはこのメッセージが返信するメッセージ (「親メッセージ」) の「Message-ID:」領域の内容を入れます。 複数の親メッセージがある場合、「In-Reply-To:」領域には 全ての親メッセージの「Message-ID:」領域の中身を入れます。 各親メッセージのどれにも 「Message-ID:」領域がない場合は、 新しいメッセージは「In-Reply-To:」領域を持ちません。

The "References:" field will contain the contents of the parent's "References:" field (if any) followed by the contents of the parent's "Message-ID:" field (if any). If the parent message does not contain a "References:" field but does have an "In-Reply-To:" field containing a single message identifier, then the "References:" field will contain the contents of the parent's "In-Reply-To:" field followed by the contents of the parent's "Message-ID:" field (if any). If the parent has none of the "References:", "In-Reply-To:", or "Message-ID:" fields, then the new message will have no "References:" field.

「References:」領域には親の「References:」領域の内容を (あれば) 入れて、その後に親の「Message-ID:」領域を (あれば) いれます。 親メッセージに「References:」領域が無くて「In-Reply-To:」領域に 一つのメッセージ識別子がある場合、「References:」領域には 親の「In-Reply-To:」領域に続けて親の「Message-ID:」領域を (あれば) 入れます。親が「References:」, 「In-Reply-To:」, 「Message-ID:」 各領域のどれも持っていない場合は、新しいメッセージは「References:」 領域無しです。

Note: Some implementations parse the "References:" field to display the "thread of the discussion". These implementations assume that each new message is a reply to a single parent and hence that they can walk backwards through the "References:" field to find the parent of each message listed there. Therefore, trying to form a "References:" field for a reply that has multiple parents is discouraged and how to do so is not defined in this document.

参考: 「References:」領域を「議論のスレッド」を表示するために 解析する実装があります。このような実装は各新メッセージは 一つの親への返信であると仮定していて、それ故に「References:」領域を、 そこに挙げられている各メッセージの親を探すために遡って行くことが出来ます。 この結果、複数の親を持つ返信で「References:」領域を構成しようとしないことを 推奨し、この文書ではその方法を定義しないことにします。

The message identifier (msg-id) itself MUST be a globally unique identifier for a message. The generator of the message identifier MUST guarantee that the msg-id is unique. There are several algorithms that can be used to accomplish this. Since the msg-id has an similar syntax to addr-spec (identical except that comments and folding white space are not allowed), a good method is to put the domain name (or a domain literal IP address) of the host on which the message identifier was created on the right hand side of the "@", and put a combination of the current absolute date and time along with some other currently unique (perhaps sequential) identifier available on the system (for example, a process id number) on the left hand side. Using a date on the left hand side and a domain name or domain literal on the right hand side makes it possible to guarantee uniqueness since no two hosts use the same domain name or IP address at the same time. Though other algorithms will work, it is RECOMMENDED that the right hand side contain some domain identifier (either of the host itself or otherwise) such that the generator of the message identifier can guarantee the uniqueness of the left hand side within the scope of that domain.

メッセージ識別子 (msg-id) 自体はメッセージの世界的に固有の識別子で なければなりません。メッセージ識別子の生成者は msg-id が固有である ことを保証しなければなりません。このための方法は幾つかあります。 msg-id は addr-spec と似た構文 (注釈と折り返し空白間隔が認められない 以外同じ) を持っているので、メッセージ ID が作られたホストのドメイン名 (またはドメイン・リテラルの IP アドレス) を「@」の右側に入れて、 完全な現在日時と他の現在その系統で利用可能な固有の (おそらくは連番の) 識別子 (例えばプロセス番号) を組み合わせて左側に入れてメッセージ識別子を作るのは 一つの良い方法です。日付を左側に入れてドメイン名やドメイン・リテラルを 右側に入れるのは2つのホストが同じドメイン名や IP アドレスを同時に 使うことはないので固有性を保証できる可能性があります。他の方法も 使えるでしょうが、右側には (ホスト自身か他の)ドメイン識別子を入れて メッセージ識別子の生成者がドメインの範囲内で左側の固有性を 保障できるようにすることを推奨します。

Semantically, the angle bracket characters are not part of the msg-id; the msg-id is what is contained between the two angle bracket characters.

意味的には、角括弧は msg-id の一部ではありません。 msg-id は 2つの角括弧文字の内側から成ります。

4.5.4. Obsolete identification fields

4.5.4. 古い識別子領域

The obsolete "In-Reply-To:" and "References:" fields differ from the current syntax in that they allow phrase (words or quoted strings) to appear. The obsolete forms of the left and right sides of msg-id allow interspersed CFWS, making them syntactically identical to local-part and domain respectively.

古い「In-Reply-To:」及び「References:」領域は現行構文とは phrase (言葉または引用符で囲まれた文字列) が出現可能な点で異なります。 古い形式の msg-id の左側と右側は CFWS の点在が認められていて、 構文的には local-part や domain とそれぞれ同じになります。

  obs-message-id  =       "Message-ID" *WSP ":" msg-id CRLF
  obs-in-reply-to =       "In-Reply-To" *WSP ":" *(phrase / msg-id) CRLF
  obs-references  =       "References" *WSP ":" *(phrase / msg-id) CRLF
  obs-id-left     =       local-part
  obs-id-right    =       domain

For purposes of interpretation, the phrases in the "In-Reply-To:" and "References:" fields are ignored.

解釈目的では、「In-Reply-To:」および「References:」の phrase は 無視します。

Semantically, none of the optional CFWS surrounding the local-part and the domain are part of the obs-id-left and obs-id-right respectively.

意味的には、 local-part および domain を囲んで入れることができる CFWS は obs-id-left および obs-id-right それぞれの一部ではありません。

License

RFCのライセンス

関連

メモ