原文:ftp://ftp.rfc-editor.org/in-notes/rfc2822.txt
原文との対訳として読みたい方へ:このページをローカルに保存して、スタイルシートの original クラスの display 属性を none から block に変更してみてください。

2006/11/16 0.1.0 初版
2009/12/12 0.2.0 RFC5322 の翻訳作業に合わせて全体を見直しました。
2010/08/08 0.2.1 誤訳修正


ソーシャルブックマーク: このページをはてなブックマークに追加 このページをDeliciousに登録 このページをlivedoorクリップに登録
サイト内関連リンク:
RFC 5322 インターネットメッセージフォーマット(日本語訳。本仕様の最新版はこちらになります)
RFC 5321 SMTP(日本語訳)
RFC 1034 DNS - 概念と機能(日本語訳)
RFC 1035 DNS - 実装と仕様(日本語訳)
RFC 1991 PGPメッセージ交換フォーマット(日本語訳)


Network Working Group
Request for Comments: 2822
Obsoletes: 822
Category: Standards Track
P. Resnick, Editor
QUALCOMM Incorporated
April 2001

Internet Message Format インターネットメッセージフォーマット

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. この文書はインターネットコミュニティのためのインターネット標準トラックプロトコルを規定しており、改良に向けての議論と提案とを求めている。このプロトコルの標準化の状態と状況は "Internet Official Protocol Standards" (STD 1)を参照してほしい。この文書の配布に制限はない。

Copyright Notice 著作権通知

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

Abstract 概要

This standard specifies a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This standard supersedes the one specified in Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs. この標準は、"電子メール" のフレームワークにおいてコンピュータ利用者間で送信されるテキストメッセージの文法を規定する。現在の慣例を反映し、他の RFC で規定された付加的な変更を取り入れることで、この標準は RFC 822("Standard for the Format of ARPA Internet Text Messages")に取って代わるものである。

Table of Contents 目次

1. Introduction 1. 導入

1.1. Scope 1.1. 適用範囲

This standard specifies a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This standard supersedes the one specified in Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages" [RFC822], updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs [STD3]. この標準は、"電子メール" のフレームワークにおいてコンピュータ利用者間で送信されるテキストメッセージの文法を規定する。現在の慣例を反映し、他の RFC [STD3]で規定された付加的な変更を取り入れることで、この標準は RFC 822("Standard for the Format of ARPA Internet Text Messages")に取って代わるものである。

This standard specifies a syntax only for text messages. In particular, it makes no provision for the transmission of images, audio, or other sorts of structured data in electronic mail messages. There are several extensions published, such as the MIME document series [RFC2045, RFC2046, RFC2049], which describe mechanisms for the transmission of such data through electronic mail, either by extending the syntax provided here or by structuring such messages to conform to this syntax. Those mechanisms are outside of the scope of this standard. この標準はテキストメッセージのための文法だけを規定する。具体的に言うと、電子メールメッセージによる画像や音声、その他の構造化されたデータの転送については提供しない。ここで提供されている文法を拡張するか、この文法に従うようにメッセージを構造化することによって、電子メールを通してそのようなデータを転送するためのメカニズムを提供する拡張機能がいくつか公開されている(例えば一連の MIME 文書 [RFC2045, RFC2046, RFC2049])。そのようなメカニズムはこの標準の範囲外である。

In the context of electronic mail, messages are viewed as having an envelope and contents. The envelope contains whatever information is needed to accomplish transmission and delivery. (See [RFC2821] for a discussion of the envelope.) The contents comprise the object to be delivered to the recipient. This standard applies only to the format and some of the semantics of message contents. It contains no specification of the information in the envelope. 電子メールという文脈において、メッセージはエンベロープとコンテンツとを持っているものと見なされる。エンベロープには転送と配送とを行うために必要とされるあらゆる情報が含まれる。(エンベロープに関する議論は [RFC2821] を参照してほしい。) コンテンツは受信者へと配送される内容から構成される。この標準はメッセージのコンテンツの書式と一部の動作とにのみ適用され、エンベロープ内の情報に関する仕様は含まない。

However, some message systems may use information from the contents to create the envelope. It is intended that this standard facilitate the acquisition of such information by programs. しかしながらメッセージシステムによってはエンベロープを生成するためにコンテンツ内の情報を利用する可能性がある。プログラムがそのような情報を取得するのを手助けすることも、この標準の目的である。

This specification is intended as a definition of what message content format is to be passed between systems. Though some message systems locally store messages in this format (which eliminates the need for translation between formats) and others use formats that differ from the one specified in this standard, local storage is outside of the scope of this standard. この仕様の目的は、システム間を渡されるメッセージコンテンツの形式を定義することである。一部のメッセージシステムはここで定義されている形式のままメッセージをローカルに保存し(これによりフォーマット変換の必要性がなくなる)、それ以外のシステムはこの標準で規定されているものとは異なる形式を使うだろうが、いずれにしてもローカルへの保存はこの標準の範囲外である。

Note: This standard is not intended to dictate the internal formats used by sites, the specific message system features that they are expected to support, or any of the characteristics of user interface programs that create or read messages. In addition, this standard does not specify an encoding of the characters for either transport or storage; that is, it does not specify the number of bits used or how those bits are specifically transferred over the wire or stored on disk. 注意:この標準は、サイトが使用する内部形式や、サイトがサポートを期待される特定のメッセージシステムの機能、あるいはメッセージを生成したり閲覧したりするユーザーインターフェイスの特徴などを指示することを目的とはしていない。さらにこの標準は、転送や保存のための文字のエンコード方法を規定するものでもない。つまり、使用されるビット数やそれらのビットがネットワーク上を送信される方法、ディスク上に保存される方法などを具体的に規定するものではないということである。

1.2. Notational conventions 1.2. 表記規約

1.2.1. Requirements notation 1.2.1. 要求事項の表記

This document occasionally uses terms that appear in capital letters. When the terms "MUST", "SHOULD", "RECOMMENDED", "MUST NOT", "SHOULD NOT", and "MAY" appear capitalized, they are being used to indicate particular requirements of this specification. A discussion of the meanings of these terms appears in [RFC2119]. この文書はところどころで大文字の用語を使用している。"MUST", "SHOULD", "RECOMMENDED", "MUST NOT", "SHOULD NOT", "MAY" の各用語が書かれている部分は、この仕様の特別な要求事項を表している。これらの用語の意味についての議論は [RFC2119] に書かれている。

1.2.2. Syntactic notation 1.2.2. 文法表記

This standard uses the Augmented Backus-Naur Form (ABNF) notation specified in [RFC2234] for the formal definitions of the syntax of messages. Characters will be specified either by a decimal value (e.g., the value %d65 for uppercase A and %d97 for lowercase A) or by a case-insensitive literal value enclosed in quotation marks (e.g., "A" for either uppercase or lowercase A). See [RFC2234] for the full description of the notation. メッセージの正式な文法定義のために、この標準は [RFC2234] で規定されている拡張バッカス記法(Augmented Backus-Naur Form (ABNF))を使用している。文字は 10 進数値(例えば大文字の A なら %d65、小文字の A なら %d97)、または引用符で囲まれた大文字・小文字を区別しないリテラル値(例えば大文字の A または小文字の a を表す "A")によって表される。この表記法の完全な説明は [RFC2234] を参照してほしい。

1.3. Structure of this document 1.3. この文書の構成

This document is divided into several sections. この文書はいくつかのセクションに分割されている。

This section, section 1, is a short introduction to the document. このセクション(セクション 1)はこの文書の簡単な導入である。

Section 2 lays out the general description of a message and its constituent parts. This is an overview to help the reader understand some of the general principles used in the later portions of this document. Any examples in this section MUST NOT be taken as specification of the formal syntax of any part of a message. セクション 2 ではメッセージの一般的な説明とメッセージの構成要素とを説明する。これはこの文書の後の部分で使用されている一般的な原則の一部を理解するのを手助けするための要約である。このセクションの例をメッセージの各部の公式な文法の仕様であると見なしてはならない(MUST NOT)。

Section 3 specifies formal ABNF rules for the structure of each part of a message (the syntax) and describes the relationship between those parts and their meaning in the context of a message (the semantics). That is, it describes the actual rules for the structure of each part of a message (the syntax) as well as a description of the parts and instructions on how they ought to be interpreted (the semantics). This includes analysis of the syntax and semantics of subparts of messages that have specific structure. The syntax included in section 3 represents messages as they MUST be created. There are also notes in section 3 to indicate if any of the options specified in the syntax SHOULD be used over any of the others. セクション 3 はメッセージの各部の構造の ABNF による公式な規則(文法)を規定し、メッセージのコンテキストにおけるそれら各部とその意味との関係(意味論)を説明する。つまりこのセクションは、メッセージの各部の構造の実際の規則(文法)および各部の説明、そしてそれらがどのように解釈されるべきか(意味論)を説明している。これには特別な構造を持つメッセージの下位構造の文法や意味論の分析も含まれる。セクション 3 に含まれる文法は、そのように生成されなければならない(MUST)ものとしてのメッセージを示している。またセクション 3 には、文法で規定されているあるオプションが、別のどのオプションに対して優先されるべき(SHOULD)かを示す注意事項も書かれている。

Both sections 2 and 3 describe messages that are legal to generate for purposes of this standard. セクション 2 および 3 は、この標準に従う正式なメッセージを記述している。

Section 4 of this document specifies an "obsolete" syntax. There are references in section 3 to these obsolete syntactic elements. The rules of the obsolete syntax are elements that have appeared in earlier revisions of this standard or have previously been widely used in Internet messages. As such, these elements MUST be interpreted by parsers of messages in order to be conformant to this standard. However, since items in this syntax have been determined to be non-interoperable or to cause significant problems for recipients of messages, they MUST NOT be generated by creators of conformant messages. セクション 4 では "廃止された(obsolete)" 文法を規定する。これら廃止された文法要素へのリファレンスはセクション 3 にある。廃止された文法の規則は、この標準の以前の版に書かれていたか、インターネットメッセージにおいて広く使用されていたものである。そのためメッセージパーサーがこの標準に適合するためには、これらの要素を解釈しなければならない(MUST)。しかしながら、これらの文法における項目は相互運用性を持たないか、メッセージの受信者に深刻な問題を起こすものと見なされているため、適合するメッセージの作成者はこれらを生成してはならない(MUST NOT)。

Section 5 details security considerations to take into account when implementing this standard. セクション 5 ではこの標準を実装する際に考慮するべきセキュリティ考察を詳述する。

Section 6 is a bibliography of references in this document. セクション 6 はこの文書で参照している文献の一覧である。

Section 7 contains the editor's address. セクション 7 は著者の連絡先である。

Section 8 contains acknowledgements. セクション 8 は謝辞である。

Appendix A lists examples of different sorts of messages. These examples are not exhaustive of the types of messages that appear on the Internet, but give a broad overview of certain syntactic forms. 付録 A では様々な種類のメッセージの例を示す。これらの例はインターネット上で使用されているメッセージの形式を網羅するものではないが、特定の文法書式の概観を提供する。

Appendix B lists the differences between this standard and earlier standards for Internet messages. 付録 B はインターネットメッセージのための過去の標準とこの標準との差異の一覧である。

Appendix C has copyright and intellectual property notices. 付録 C は著作権と知的所有権の通知である。

2. Lexical Analysis of Messages 2. メッセージの字句解析

2.1. General Description 2.1. 概要

At the most basic level, a message is a series of characters. A message that is conformant with this standard is comprised of characters with values in the range 1 through 127 and interpreted as US-ASCII characters [ASCII]. For brevity, this document sometimes refers to this range of characters as simply "US-ASCII characters". もっとも基本的なレベルでは、メッセージは一連の文字である。この標準に適合するメッセージは、値が 1 ~ 127 の範囲の文字から構成され、US-ASCII 文字 [ASCII] として解釈される。簡潔さのためにこの文書では、この範囲を単に "US-ASCII 文字" として言及する場合がある。

Note: This standard specifies that messages are made up of characters in the US-ASCII range of 1 through 127. There are other documents, specifically the MIME document series [RFC2045, RFC2046, RFC2047, RFC2048, RFC2049], that extend this standard to allow for values outside of that range. Discussion of those mechanisms is not within the scope of this standard. 注意:この標準は、メッセージが 1 ~ 127 の範囲の US-ASCII 文字から構成されるものと規定している。この範囲外の値を可能にするためにこの標準を拡張する他の文書が存在する。具体的には一連の MIME 文書 [RFC2045, RFC2046, RFC2047, RFC2048, RFC2049] である。これらのメカニズムに関する議論はこの仕様の範囲外である。

Messages are divided into lines of characters. A line is a series of characters that is delimited with the two characters carriage-return and line-feed; that is, the carriage return (CR) character (ASCII value 13) followed immediately by the line feed (LF) character (ASCII value 10). (The carriage-return/line-feed pair is usually written in this document as "CRLF".) メッセージは文字列へと分割される。行は復帰・改行の 2 文字、つまり復帰(CR)文字(ASCII 値 13)の直後に改行(LF)文字(ASCII 値 10)が続く 2 文字で区切られた一連の文字である。(この文書では通常、復帰/改行の組を "CRLF" と書く。)

A message consists of header fields (collectively called "the header of the message") followed, optionally, by a body. The header is a sequence of lines of characters with special syntax as defined in this standard. The body is simply a sequence of characters that follows the header and is separated from the header by an empty line (i.e., a line with nothing preceding the CRLF). メッセージは、ヘッダフィルード(集合的に "メッセージのヘッダ(the header of the message)" と呼ばれる)と、任意でそれに続くボディとから構成される。ヘッダはこの仕様で定義されている特別な文法を持つ一連の文字列である。ボディはヘッダに続く単純な一連の文字群であり、空行(つまり CRLF のみの行)によってヘッダと分離される。

2.1.1. Line Length Limits 2.1.1. 行の長さの制限

There are two limits that this standard places on the number of characters in a line. Each line of characters MUST be no more than 998 characters, and SHOULD be no more than 78 characters, excluding the CRLF. この仕様が 1 行の文字数に課す制限は二つある。CRLF を除いて、各行は 998 文字を超えてはならならず(MUST)、78 文字を超えるべきではない(SHOULD)。

The 998 character limit is due to limitations in many implementations which send, receive, or store Internet Message Format messages that simply cannot handle more than 998 characters on a line. Receiving implementations would do well to handle an arbitrarily large number of characters in a line for robustness sake. However, there are so many implementations which (in compliance with the transport requirements of [RFC2821]) do not accept messages containing more than 1000 character including the CR and LF per line, it is important for implementations not to create such messages. 998 文字の制限は、インターネットメッセージフォーマットのメッセージを送受信したり保存したりする実装の多くが 998 文字を超える行を扱えないという単純な理由によるものである。堅牢性のために受信側実装は自己判断でもっと長い 1 行を正常に扱うだろう。しかしながら([RFC2821] における転送の要求事項に適合しながらも)、CRLF を含めて 1 行が 1000 文字を超えるメッセージを受け付けない実装は数多く存在するため、実装がそのようなメッセージを生成しないことは重要である。

The more conservative 78 character recommendation is to accommodate the many implementations of user interfaces that display these messages which may truncate, or disastrously wrap, the display of more than 78 characters per line, in spite of the fact that such implementations are non-conformant to the intent of this specification (and that of [RFC2821] if they actually cause information to be lost). Again, even though this limitation is put on messages, it is encumbant upon implementations which display messages to handle an arbitrarily large number of characters in a line (certainly at least up to the 998 character limit) for the sake of robustness. より保守的な推奨事項である 78 文字の制限は、78 文字を超える表示を切り捨てたり、悲惨なラップをしたりする可能性のある多くのユーザーインターフェイス実装に適合するためのものである(本当はそのような実装はこの仕様の目的に(そして実際に情報を失ってしまうなら [RFC2821] の目的にも)適合しない)。この制限はメッセージに課されるものだが、堅牢性のために任意の長い行(もちろん長くとも 998 文字以下の行)を扱う実装に課される義務でもある。

2.2. Header Fields 2.2. ヘッダフィールド

Header fields are lines composed of a field name, followed by a colon (":"), followed by a field body, and terminated by CRLF. A field name MUST be composed of printable US-ASCII characters (i.e., characters that have values between 33 and 126, inclusive), except colon. A field body may be composed of any US-ASCII characters, except for CR and LF. However, a field body may contain CRLF when used in header "folding" and "unfolding" as described in section 2.2.3. All field bodies MUST conform to the syntax described in sections 3 and 4 of this standard. ヘッダフィールドは、フィールド名の次にコロン(":")、次にフィールドの本文、最後に CRLF で終了する行である。フィールド名は(コロンを除く)印刷可能な US-ASCII 文字(つまり 33 ~ 126 の値を持つ文字)で構成されなければならない(MUST)。フィールド本文は CR と LF とを除く任意の US-ASCII 文字で構成されてよい。しかしながら、セクション 2.2.3 で説明されているヘッダの "折り返し(folding)" と "展開(unfolding)" とを使用する場合には CRLF を含むこともできる。すべてのフィールド本文はセクション 3・4 で説明されている文法に従わなければならない(MUST)。

2.2.1. Unstructured Header Field Bodies 2.2.1. 非構造化ヘッダフィールド本文

Some field bodies in this standard are defined simply as "unstructured" (which is specified below as any US-ASCII characters, except for CR and LF) with no further restrictions. These are referred to as unstructured field bodies. Semantically, unstructured field bodies are simply to be treated as a single line of characters with no further processing (except for header "folding" and "unfolding" as described in section 2.2.3). この仕様における一部のフィールド本文は特別な制限を持たず、単に "非構造化(unstructured)"(CR と LF とを除く任意の US-ASCII 文字と規定されている) として定義されており、非構造化フィールド本文として言及される。意味的に言うと非構造化フィールド本文は、それ以上処理されない(ただしセクション 2.2.3 で説明されているヘッダの "折り返し(folding)" と "展開(unfolding)" とを除く)単一の文字列として扱われるべきものである。

2.2.2. Structured Header Field Bodies 2.2.2. 構造化ヘッダフィールド本文

Some field bodies in this standard have specific syntactical structure more restrictive than the unstructured field bodies described above. These are referred to as "structured" field bodies. Structured field bodies are sequences of specific lexical tokens as described in sections 3 and 4 of this standard. Many of these tokens are allowed (according to their syntax) to be introduced or end with comments (as described in section 3.2.3) as well as the space (SP, ASCII value 32) and horizontal tab (HTAB, ASCII value 9) characters (together known as the white space characters, WSP), and those WSP characters are subject to header "folding" and "unfolding" as described in section 2.2.3. Semantic analysis of structured field bodies is given along with their syntax. この仕様における一部のフィールド本文は、上記の非構造化フィールド本文よりも制限された特別の文法構造を持つ。これらは "構造化" フィールド本文として言及される。構造化フィールド本文は、この仕様のセクション 3 と 4 とで説明されている一連の特別な語彙トークンである。これらのトークンの多くは(その文法に従って)空白文字(SP、ASCII 値 32)や水平タブ文字(HTAB、ASCII 値 9)(共に空白文字 WSP として知られている)はもちろん、コメントを導入したり、それらで終わったりすることが許されている。これらの WSP 文字は、セクション 2.2.3 で説明されているヘッダの "折り返し(folding)" と "展開(unfolding)" との影響を受ける。構造化フィールド本文の意味解析はその文法と共に示されている。

2.2.3. Long Header Fields 2.2.3. 長いヘッダフィールド

Each header field is logically a single line of characters comprising the field name, the colon, and the field body. For convenience however, and to deal with the 998/78 character limitations per line, the field body portion of a header field can be split into a multiple line representation; this is called "folding". The general rule is that wherever this standard allows for folding white space (not simply WSP characters), a CRLF may be inserted before any WSP. For example, the header field: 各ヘッダフィールドは、論理的にはフィールド名・コロン・フィールド本文から構成される単一行である。しかしながら利便性と 998/78 文字の制限とのために、ヘッダフィールドのフィールド本文は複数行に分割することが可能であり、"折り返し(folding)" と呼ばれる。一般的な規則として、この仕様が(単なる WSP 文字ではなく)空白文字を許す場所ならどこでも折り返しが許されるし、任意の WSP の前に CRLF を置くことも許される。例えば次のヘッダフィールドの場合:

           Subject: This is a test

can be represented as: これは次のように表すこともできる:

           Subject: This
            is a test

Note: Though structured field bodies are defined in such a way that folding can take place between many of the lexical tokens (and even within some of the lexical tokens), folding SHOULD be limited to placing the CRLF at higher-level syntactic breaks. For instance, if a field body is defined as comma-separated values, it is recommended that folding occur after the comma separating the structured items in preference to other places where the field could be folded, even if it is allowed elsewhere. 注意:構造化フィールド本文がこのように定義されているため、たいていの単語トークン間に折り返しを入れることができる。しかしながら、CRLF を置くのは上位レベルの文法の改行位置に限定するべきである(SHOULD)。例えばカンマ区切りの値として定義されるフィールド本文の場合、項目間を区切っているカンマの後ろで折り返すことが推奨され、そのフィールドを折り返すことができる別の位置での折り返しは、たとえそれが可能であったとしても好ましくない。

The process of moving from this folded multiple-line representation of a header field to its single line representation is called "unfolding". Unfolding is accomplished by simply removing any CRLF that is immediately followed by WSP. Each header field should be treated in its unfolded form for further syntactic and semantic evaluation. 折り返された複数行のヘッダフィールドを単一行へと変換する手順は "展開(unfolding)" と呼ばれる。展開は単に、直後にWSPが続くすべてのCRLFを取り除くことで行われる。より上位の文法的評価や意味的評価を行う際、各ヘッダフィールドは展開後の形式で扱われるべきである。

2.3. Body 2.3. ボディ

The body of a message is simply lines of US-ASCII characters. The only two limitations on the body are as follows: メッセージのボディは単純な US-ASCII 文字からなる複数の行である。ボディに課される制限は以下の二つだけである:

Note: As was stated earlier, there are other standards documents, specifically the MIME documents [RFC2045, RFC2046, RFC2048, RFC2049] that extend this standard to allow for different sorts of message bodies. Again, these mechanisms are beyond the scope of this document. 注意:前にも書いた通り、この標準を拡張して様々な種類のメッセージボディを可能にする MIME 文書 [RFC2045, RFC2046, RFC2048, RFC2049] などの規格が存在している。繰り返しになるが、それらのメカニズムはこの文書の範囲外である。

3. Syntax 3. 文法

3.1. Introduction 3.1. 導入

The syntax as given in this section defines the legal syntax of Internet messages. Messages that are conformant to this standard MUST conform to the syntax in this section. If there are options in this section where one option SHOULD be generated, that is indicated either in the prose or in a comment next to the syntax. このセクションで定義されている文法はインターネットメッセージの正式な文法である。この標準に準拠するメッセージはこのセクションの文法に従わなければならない(MUST)。この文書中、オプションが生成されるべき(SHOULD)場所がある場合、そのことを文章中または文法の次のコメント中に示している。

For the defined expressions, a short description of the syntax and use is given, followed by the syntax in ABNF, followed by a semantic analysis. Primitive tokens that are used but otherwise unspecified come from [RFC2234]. 定義済み表現は、まずその文法の短い説明と使用方法とが示されており、次に ABNF による文法定義、最後に意味解析が続く。使用されているが規定されていない基本的なトークンは [RFC2234] に由来する。

In some of the definitions, there will be nonterminals whose names start with "obs-". These "obs-" elements refer to tokens defined in the obsolete syntax in section 4. In all cases, these productions are to be ignored for the purposes of generating legal Internet messages and MUST NOT be used as part of such a message. However, when interpreting messages, these tokens MUST be honored as part of the legal syntax. In this sense, section 3 defines a grammar for generation of messages, with "obs-" elements that are to be ignored, while section 4 adds grammar for interpretation of messages. 一部の定義の中には "obs-" で始まるものが含まれている。これら "obs-" で始まる要素は、セクション 4 の廃止された文法で定義されているトークンを参照している。正式なインターネットメッセージを作成する場合、これらはすべて無視するべきものであり、メッセージの一部として使用してはならない(MUST NOT)。しかしながらメッセージを解釈する際にはこれらのトークンを正式な文法の一部として尊重しなければならない(MUST)。この意味では、メッセージ生成時には無視されるべき "obs-" 要素の文法をセクション 3 が定義しており、メッセージ解釈のための文法をセクション 4 が追加していると言える。

3.2. Lexical Tokens 3.2. 語彙トークン

The following rules are used to define an underlying lexical analyzer, which feeds tokens to the higher-level parsers. This section defines the tokens used in structured header field bodies. 基本的な字句解析を定義するために以下の規則を使用する。字句解析者がトークンを上位レベルのパーサーへと渡す。このセクションでは構造化ヘッダフィールド本文で使用されるトークンを定義する。

Note: Readers of this standard need to pay special attention to how these lexical tokens are used in both the lower-level and higher-level syntax later in the document. Particularly, the white space tokens and the comment tokens defined in section 3.2.3 get used in the lower-level tokens defined here, and those lower-level tokens are in turn used as parts of the higher-level tokens defined later. Therefore, the white space and comments may be allowed in the higher-level tokens even though they may not explicitly appear in a particular definition. 注意:この標準の読者はこの文書のこれ以降において、これらの語彙トークンが文法上の下位レベルと上位レベルとでどのように使用されているのかに特別な注意を払う必要がある。具体的に言うと、セクション 3.2.3 で定義されている空白トークンとコメントトークンは、ここで定義されている下位レベルのトークンとして使用される一方で、後に定義する上位レベルのトークンの一部としても使用される。したがって空白文字とコメントは、上位レベルトークンの定義に明示的に含まれていない場合でも使用することが許される場合がある。

3.2.1. Primitive Tokens 3.2.1. 基本トークン

The following are primitive tokens referred to elsewhere in this standard, but not otherwise defined in [RFC2234]. Some of them will not appear anywhere else in the syntax, but they are convenient to refer to in other parts of this document. この標準で参照されているが [RFC2234] では定義されていない基本トークンを以下に示す。これらの一部はこの文法以外に現れないが、この文書内で参照するのに有用である。

Note: The "specials" below are just such an example. Though the specials token does not appear anywhere else in this standard, it is useful for implementers who use tools that lexically analyze messages. Each of the characters in specials can be used to indicate a tokenization point in lexical analysis. 注意:以下の "specials" は単なる例である。この標準の中で specials トークンは使用されていないが、メッセージを字句解析するツールを使用する実装者にとっては有用なものである。specials の各文字は、字句解析処理においてトークンを切り出す位置を表すものとして使用できる。

NO-WS-CTL       =       %d1-8 /         ; US-ASCII control characters
                        %d11 /          ;  that do not include the
                        %d12 /          ;  carriage return, line feed,
                        %d14-31 /       ;  and white space characters
                        %d127

text            =       %d1-9 /         ; Characters excluding CR and LF
                        %d11 /
                        %d12 /
                        %d14-127 /
                        obs-text

specials        =       "(" / ")" /     ; Special characters used in
                        "<" / ">" /     ;  other parts of the syntax
                        "[" / "]" /
                        ":" / ";" /
                        "@" / "\" /
                        "," / "." /
                        DQUOTE
NO-WS-CTL       =       %d1-8 /         ; 復帰、改行、空白文字を除く
                        %d11 /          ; US-ASCII 制御文字
                        %d12 /
                        %d14-31 /
                        %d127

text            =       %d1-9 /         ; CR・LFを除く文字
                        %d11 /
                        %d12 /
                        %d14-127 /
                        obs-text

specials        =       "(" / ")" /     ; 文法部分以外で使用される
                        "<" / ">" /     ; 特殊文字
                        "[" / "]" /
                        ":" / ";" /
                        "@" / "\" /
                        "," / "." /
                        DQUOTE

No special semantics are attached to these tokens. They are simply single characters. これらのトークンに特別な意味は与えられていない。これらは単純な単一文字である。

3.2.2. Quoted characters 3.2.2. 引用文字

Some characters are reserved for special interpretation, such as delimiting lexical tokens. To permit use of these characters as uninterpreted data, a quoting mechanism is provided. 一部の文字は語彙トークンの区切りなどの特別な解釈のために予約されている。そのような文字を解釈されないその文字そのものとしてとして使用するために、引用メカニズムが用意されている。

quoted-pair     =       ("\" text) / obs-qp

Where any quoted-pair appears, it is to be interpreted as the text character alone. That is to say, the "\" character that appears as part of a quoted-pair is semantically "invisible". quoted-pair が現れると、それは単独の text 文字として解釈される。つまり quoted-pair の一部として使用される "\" 文字は、意味的に "不可視(invisible)" ということになる。

Note: The "\" character may appear in a message where it is not part of a quoted-pair. A "\" character that does not appear in a quoted-pair is not semantically invisible. The only places in this standard where quoted-pair currently appears are ccontent, qcontent, dcontent, no-fold-quote, and no-fold-literal. 注意:quoted-pair の一部でなければ、メッセージ内に "\" が現れてもよい。quoted-pair の外の "\" は意味的に不可視ではない。この標準において quoted-pair が現れる場所は、ccontent・qcontent・dcontent・no-fold-quote・no-fold-literal である。

3.2.3. Folding white space and comments 3.2.3. 空白の折り返しとコメント

White space characters, including white space used in folding (described in section 2.2.3), may appear between many elements in header field bodies. Also, strings of characters that are treated as comments may be included in structured field bodies as characters enclosed in parentheses. The following defines the folding white space (FWS) and comment constructs. 空白文字(セクション 2.3.3 で説明した折り返し中の空白も含む)は、ヘッダフィールド本文内のほとんどの要素間に現れることが出来る。同じように、コメントとして扱われる文字列は、括弧で囲われた文字列として構造化フィールド本文に含めることが出来る。折り返された空白文字(FWS)とコメントとの構成要素を以下に定義する。

Strings of characters enclosed in parentheses are considered comments so long as they do not appear within a "quoted-string", as defined in section 3.2.5. Comments may nest. セクション 3.2.5 で定義されている "quoted-string" 内ではない限り、括弧で囲まれた文字列はコメントとみなされる。コメントはネストしても良い。

There are several places in this standard where comments and FWS may be freely inserted. To accommodate that syntax, an additional token for "CFWS" is defined for places where comments and/or FWS can occur. However, where CFWS occurs in this standard, it MUST NOT be inserted in such a way that any line of a folded header field is made up entirely of WSP characters and nothing else. コメントと FWS とを自由に挿入できる場所がいくつかある。この文法のために、コメントや FWS が現れてもよい場所を表す追加のトークン "CFWS" を定義する。しかしながらこの標準において CFWS が現れる場所に、WSP だけからなる折り返しヘッダフィールドの行を追加してはならない(MUST NOT)。

FWS             =       ([*WSP CRLF] 1*WSP) /   ; Folding white space
                        obs-FWS

ctext           =       NO-WS-CTL /     ; Non white space controls

                        %d33-39 /       ; The rest of the US-ASCII
                        %d42-91 /       ;  characters not including "(",
                        %d93-126        ;  ")", or "\"

ccontent        =       ctext / quoted-pair / comment

comment         =       "(" *([FWS] ccontent) [FWS] ")"

CFWS            =       *([FWS] comment) (([FWS] comment) / FWS)
FWS             =       ([*WSP CRLF] 1*WSP) /   ; 折り返し空白文字
                        obs-FWS

ctext           =       NO-WS-CTL /     ; 空白文字以外の制御文字

                        %d33-39 /       ; "("・")"・"\" 以外の
                        %d42-91 /       ; US-ASCII 文字
                        %d93-126

ccontent        =       ctext / quoted-pair / comment

comment         =       "(" *([FWS] ccontent) [FWS] ")"

CFWS            =       *([FWS] comment) (([FWS] comment) / FWS)

Throughout this standard, where FWS (the folding white space token) appears, it indicates a place where header folding, as discussed in section 2.2.3, may take place. Wherever header folding appears in a message (that is, a header field body containing a CRLF followed by any WSP), header unfolding (removal of the CRLF) is performed before any further lexical analysis is performed on that header field according to this standard. That is to say, any CRLF that appears in FWS is semantically "invisible." この標準全体を通して、FWS(折り返された空白トークン)の現れる位置では(セクション 2.2.3 で議論した通り)ヘッダを折り返すことができる。メッセージ内でヘッダの折り返し(つまり、WSP に続けて CRLF が含まれるヘッダフィールド本文)が現れるところではどこでも、この標準に従ってヘッダフィールドに字句解析が行われる前に、ヘッダの展開(CRLF の削除)が行われる。すなわち、FWS 内のすべての CRLF は意味的に "不可視(invisible)" ということである。

A comment is normally used in a structured field body to provide some human readable informational text. Since a comment is allowed to contain FWS, folding is permitted within the comment. Also note that since quoted-pair is allowed in a comment, the parentheses and backslash characters may appear in a comment so long as they appear as a quoted-pair. Semantically, the enclosing parentheses are not part of the comment; the comment is what is contained between the two parentheses. As stated earlier, the "\" in any quoted-pair and the CRLF in any FWS that appears within the comment are semantically "invisible" and therefore not part of the comment either. 人間が理解できる情報を提供するために、構造化フィールド本文の中では習慣的にコメントが使用される。コメントに FWS を含めることも可能なので、コメント内で行を折り返すことも許されている。またコメントに quoted-pair を含むことも許されているため、quoted-pair としてであれば括弧とバックスラッシュとをコメント内に含めることもできる。コメントとは二つの括弧の間に含まれるものであるため、意味的には括弧はコメントの一部ではない。前述の通り、コメントに含まれている quoted-pair 内の "\" と FWS 内の CRLF とは意味的に "不可視(invisible)" であるため、コメントの一部ではない。

Runs of FWS, comment or CFWS that occur between lexical tokens in a structured field header are semantically interpreted as a single space character. 構造化ヘッダフィールド内の語彙トークンの間に現れる FWS・コメント・CFWS は、意味的には単独の空白文字として解釈される。

3.2.4. Atom 3.2.4. アトム

Several productions in structured header field bodies are simply strings of certain basic characters. Such productions are called atoms. 構造化ヘッダフィールド内に生成されるもののいくつかは、特定の基本的な文字からなる単純な文字列である。それらはアトムと呼ばれる。

Some of the structured header field bodies also allow the period character (".", ASCII value 46) within runs of atext. An additional "dot-atom" token is defined for those purposes. 一部の構造化フィールド本文は atext 内にピリオド("." ASCII 値 46)を許している。そのような目的のために "dot-atom" トークンが定義されている。

atext           =       ALPHA / DIGIT / ; Any character except controls,
                        "!" / "#" /     ;  SP, and specials.
                        "$" / "%" /     ;  Used for atoms
                        "&" / "'" /
                        "*" / "+" /
                        "-" / "/" /
                        "=" / "?" /
                        "^" / "_" /
                        "`" / "{" /
                        "|" / "}" /
                        "~"

atom            =       [CFWS] 1*atext [CFWS]

dot-atom        =       [CFWS] dot-atom-text [CFWS]

dot-atom-text   =       1*atext *("." 1*atext)
atext           =       ALPHA / DIGIT / ; 制御文字・SP・特殊文字を除く
                        "!" / "#" /     ; 任意の文字
                        "$" / "%" /     ; アトムに使用される
                        "&" / "'" /
                        "*" / "+" /
                        "-" / "/" /
                        "=" / "?" /
                        "^" / "_" /
                        "`" / "{" /
                        "|" / "}" /
                        "~"

atom            =       [CFWS] 1*atext [CFWS]

dot-atom        =       [CFWS] dot-atom-text [CFWS]

dot-atom-text   =       1*atext *("." 1*atext)

Both atom and dot-atom are interpreted as a single unit, comprised of the string of characters that make it up. Semantically, the optional comments and FWS surrounding the rest of the characters are not part of the atom; the atom is only the run of atext characters in an atom, or the atext and "." characters in a dot-atom. atom と dot-atom はともに、それを構成する文字列を含むひとつの構成単位として解釈される。残りの文字列の前後に置かれるオプションのコメント及び FWS は意味的にアトムではない。アトムはアトム内の一連の atext 文字列、または dot-atom 内の atext と "." とだけである。

3.2.5. Quoted strings 3.2.5. 引用文字列

Strings of characters that include characters other than those allowed in atoms may be represented in a quoted string format, where the characters are surrounded by quote (DQUOTE, ASCII value 34) characters. adom 内で許可されていない文字を含む文字列でも、引用文字列の形式(文字列を引用符(DQUOTE、ASCII 値 34) で囲う)であれば表すことができる。

qtext           =       NO-WS-CTL /     ; Non white space controls

                        %d33 /          ; The rest of the US-ASCII
                        %d35-91 /       ;  characters not including "\"
                        %d93-126        ;  or the quote character

qcontent        =       qtext / quoted-pair

quoted-string   =       [CFWS]
                        DQUOTE *([FWS] qcontent) [FWS] DQUOTE
                        [CFWS]
qtext           =       NO-WS-CTL /     ; 空白・制御文字以外

                        %d33 /          ; "\" と引用符とを除く
                        %d35-91 /       ; US-ASCII 文字
                        %d93-126 

qcontent        =       qtext / quoted-pair

quoted-string   =       [CFWS]
                        DQUOTE *([FWS] qcontent) [FWS] DQUOTE
                        [CFWS]

A quoted-string is treated as a unit. That is, quoted-string is identical to atom, semantically. Since a quoted-string is allowed to contain FWS, folding is permitted. Also note that since quoted-pair is allowed in a quoted-string, the quote and backslash characters may appear in a quoted-string so long as they appear as a quoted-pair. quoted-string はひとつの構成単位として扱われる。つまり quoted-string は意味的に atom と同じである。quoted-string には FWS を含めることも許されているため、折り返しも可能である。また quoted-string の中に quoted-pair を置くことも許されているため、quoted-pair としてであれば、quoted-string 内に引用符とバックスラッシュ("\")とを置くことができる。

Semantically, neither the optional CFWS outside of the quote characters nor the quote characters themselves are part of the quoted-string; the quoted-string is what is contained between the two quote characters. As stated earlier, the "\" in any quoted-pair and the CRLF in any FWS/CFWS that appears within the quoted-string are semantically "invisible" and therefore not part of the quoted-string either. 引用文字の外側の CFWS も引用文字そのものも、意味的には quoted-string の一部ではない。quoted-string は二つの引用符の間にある文字列である。前述の通り quoted-string に含まれる quoted-pair 内の "\" と FWS/CFWS 内の CRLF とは意味的に "不可視(invisible)" であり、従って quoted-string の一部ではない。

3.2.6. Miscellaneous tokens 3.2.6. その他のトークン

Three additional tokens are defined, word and phrase for combinations of atoms and/or quoted-strings, and unstructured for use in unstructured header fields and in some places within structured header fields. その他のトークンが三つ定義されている。atom や quoted-strings を組み合わせた word とphrase 、そして構造化ヘッダフィールド内の一部と非構造化ヘッダフィールドとで使用される unstructured である。

word            =       atom / quoted-string

phrase          =       1*word / obs-phrase

utext           =       NO-WS-CTL /     ; Non white space controls
                        %d33-126 /      ; The rest of US-ASCII
                        obs-utext

unstructured    =       *([FWS] utext) [FWS]
word            =       atom / quoted-string

phrase          =       1*word / obs-phrase

utext           =       NO-WS-CTL /     ; 空白・制御文字以外
                        %d33-126 /      ; 残りの US-ASCII 文字
                        obs-utext

unstructured    =       *([FWS] utext) [FWS]

3.3. Date and Time Specification 3.3. 日付・時刻の仕様

Date and time occur in several header fields. This section specifies the syntax for a full date and time specification. Though folding white space is permitted throughout the date-time specification, it is RECOMMENDED that a single space be used in each place that FWS appears (whether it is required or optional); some older implementations may not interpret other occurrences of folding white space correctly. 日付・時刻はいくつかのヘッダフィールド内で使用される。このセクションでは完全な日付・時刻の文法を規定する。日付・時刻の仕様では空白を折り返すことが許可されているが、FWS が置かれる位置には単独の空白文字を使用することが推奨される(RECOMMENDED)。これは一部の古い実装が折り返された空白文字を正しく解釈できない可能性があるためである。

date-time       =       [ day-of-week "," ] date FWS time [CFWS]

day-of-week     =       ([FWS] day-name) / obs-day-of-week

day-name        =       "Mon" / "Tue" / "Wed" / "Thu" /
                        "Fri" / "Sat" / "Sun"

date            =       day month year

year            =       4*DIGIT / obs-year

month           =       (FWS month-name FWS) / obs-month

month-name      =       "Jan" / "Feb" / "Mar" / "Apr" /
                        "May" / "Jun" / "Jul" / "Aug" /
                        "Sep" / "Oct" / "Nov" / "Dec"

day             =       ([FWS] 1*2DIGIT) / obs-day

time            =       time-of-day FWS zone

time-of-day     =       hour ":" minute [ ":" second ]

hour            =       2DIGIT / obs-hour

minute          =       2DIGIT / obs-minute

second          =       2DIGIT / obs-second

zone            =       (( "+" / "-" ) 4DIGIT) / obs-zone
date-time       =       [ day-of-week "," ] date FWS time [CFWS]

day-of-week     =       ([FWS] day-name) / obs-day-of-week

day-name        =       "Mon" / "Tue" / "Wed" / "Thu" /
                        "Fri" / "Sat" / "Sun"

date            =       day month year

year            =       4*DIGIT / obs-year

month           =       (FWS month-name FWS) / obs-month

month-name      =       "Jan" / "Feb" / "Mar" / "Apr" /
                        "May" / "Jun" / "Jul" / "Aug" /
                        "Sep" / "Oct" / "Nov" / "Dec"

day             =       ([FWS] 1*2DIGIT) / obs-day

time            =       time-of-day FWS zone

time-of-day     =       hour ":" minute [ ":" second ]

hour            =       2DIGIT / obs-hour

minute          =       2DIGIT / obs-minute

second          =       2DIGIT / obs-second

zone            =       (( "+" / "-" ) 4DIGIT) / obs-zone

The day is the numeric day of the month. The year is any numeric year 1900 or later. day は月中の日を表す数値である。year は 1900 以降の任意の数値である。

The time-of-day specifies the number of hours, minutes, and optionally seconds since midnight of the date indicated. time-of-day はその日の午前零時から経過した時と分と、オプションで秒を表す。

The date and time-of-day SHOULD express local time. date と time-of-day は地方時間を表すべきである(SHOULD)。

The zone specifies the offset from Coordinated Universal Time (UTC, formerly referred to as "Greenwich Mean Time") that the date and time-of-day represent. The "+" or "-" indicates whether the time-of-day is ahead of (i.e., east of) or behind (i.e., west of) Universal Time. The first two digits indicate the number of hours difference from Universal Time, and the last two digits indicate the number of minutes difference from Universal Time. (Hence, +hhmm means +(hh * 60 + mm) minutes, and -hhmm means -(hh * 60 + mm) minutes). The form "+0000" SHOULD be used to indicate a time zone at Universal Time. Though "-0000" also indicates Universal Time, it is used to indicate that the time was generated on a system that may be in a local time zone other than Universal Time and therefore indicates that the date-time contains no information about the local time zone. zone は、date と time-of-day とが表す時刻の、協定世界時(UTC、以前は "グリニッジ標準時(Greenwich Mean Time)" と呼ばれていた)からのオフセットを表す。"+" または "-" はそれぞれ、世界時に対して進んでいる(つまり東方)か遅れている(つまり西方)かを表している。最初の 2 桁は世界時からの差異時間、次の 2 桁は世界時からの差異分を表す(したがって +hhmm は +(hh * 60 + mm) 分、-hhmm は -(hh * 60 + mm) 分を意味する)。"+0000" は世界時のタイムゾーンを表すために使用されるべきである(SHOULD)。"-0000" もまた世界時を表すが、これは世界時以外のタイムゾーン上のシステムによって生成された時刻であり、date-time にはローカルのタイムゾーンに関する情報が含まれていないことを表す。

A date-time specification MUST be semantically valid. That is, the day-of-the-week (if included) MUST be the day implied by the date, the numeric day-of-month MUST be between 1 and the number of days allowed for the specified month (in the specified year), the time-of-day MUST be in the range 00:00:00 through 23:59:60 (the number of seconds allowing for a leap second; see [STD12]), and the zone MUST be within the range -9959 through +9959. 日付・時刻の値は意味的に有効なものでなければならない(MUST)。つまり、(もし指定されていれば)day-of-the-week は date が表す日付の曜日でなければならない(MUST)し、数字の day-of-month は 1 から(その年の)その月の最終日まで間の数字でなければなない(MUST)。また time-of-day は 00:00:00 から 23:59:60 までの範囲(秒はうるう秒も許可されている。[STD12]を参照してほしい)でなければならない(MUST)し、zone は -9959 から +9959 までの範囲でなければならない(MUST)。

3.4. Address Specification 3.4. アドレスの仕様

Addresses occur in several message header fields to indicate senders and recipients of messages. An address may either be an individual mailbox, or a group of mailboxes. アドレスはメッセージの送信者と受信者とを表すためにいくつかのメッセージヘッダフィールドで使用される。アドレスには特定のメールボックスかメールボックスのグループかのどちらかが許可されている。

address         =       mailbox / group

mailbox         =       name-addr / addr-spec

name-addr       =       [display-name] angle-addr

angle-addr      =       [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr

group           =       display-name ":" [mailbox-list / CFWS] ";"
                        [CFWS]

display-name    =       phrase

mailbox-list    =       (mailbox *("," mailbox)) / obs-mbox-list

address-list    =       (address *("," address)) / obs-addr-list

A mailbox receives mail. It is a conceptual entity which does not necessarily pertain to file storage. For example, some sites may choose to print mail on a printer and deliver the output to the addressee's desk. Normally, a mailbox is comprised of two parts: (1) an optional display name that indicates the name of the recipient (which could be a person or a system) that could be displayed to the user of a mail application, and (2) an addr-spec address enclosed in angle brackets ("<" and ">"). There is also an alternate simple form of a mailbox where the addr-spec address appears alone, without the recipient's name or the angle brackets. The Internet addr-spec address is described in section 3.4.1. メールボックスはメールを受け取る。メールボックスは概念上のものであり、ファイルストレージに関連する必要はない。例えば、サイトによってはメールをプリンタに出力し、印刷されたメールをそのアドレスの所有者の机に配布するという選択をしてもよい。通常、mailbox は二つの部分から構成される:(1) 受信者の名前を示すオプションの表示用の名前、(2) アングルブラケット("<" と ">")で囲われた addr-spec アドレスである。もうひとつ別の単純な形式として、アングルブラケットや受信者名のない addr-spec アドレス単独の形式がある。インターネットにおける addr-spec アドレスはセクション 3.4.1 で説明されている。

Note: Some legacy implementations used the simple form where the addr-spec appears without the angle brackets, but included the name of the recipient in parentheses as a comment following the addr-spec. Since the meaning of the information in a comment is unspecified, implementations SHOULD use the full name-addr form of the mailbox, instead of the legacy form, to specify the display name associated with a mailbox. Also, because some legacy implementations interpret the comment, comments generally SHOULD NOT be used in address fields to avoid confusing such implementations. 注意:アングルブラケットのない addr-spec という単純な形式において、一部の古い実装は addr-spec の後に括弧で括られた受信者の名前をコメントとして含めていた。コメント内の情報の意味は規定されていないので、実装はメールボックスに対応する表示名を表すために、レガシーな形式の代わりにメールボックスの完全な name-addr 形式を使用するべきである(SHOULD)。また一部の古い実装はコメントを解釈するので、そのような実装を混乱させないためにも、一般にアドレスフィールド内でコメントを使用するべきではない(SHOULD NOT)。

When it is desirable to treat several mailboxes as a single unit (i.e., in a distribution list), the group construct can be used. The group construct allows the sender to indicate a named group of recipients. This is done by giving a display name for the group, followed by a colon, followed by a comma separated list of any number of mailboxes (including zero and one), and ending with a semicolon. Because the list of mailboxes can be empty, using the group construct is also a simple way to communicate to recipients that the message was sent to one or more named sets of recipients, without actually providing the individual mailbox address for each of those recipients. 複数のメールボックスを単一ユニットとして(すなわち配布先リストとして)扱いたい場合、group 構造を使用することができる。group 構造を使うことで、送信者は複数の受信者を表す名前付きグループを指定できる。これはグループの表示名に続けてコロン、その後にカンマ区切りで複数(0 個や 1 個も含む)のメールボックス、最後にセミコロンという形で表される。メールボックスのリストは空であってもよい。そのため group 構造は、複数の受信者から成るひとつまたは複数の名前付きグループへとメッセージを送ることで、各受信者の個別のメールボックスを実際には指定せずに受信者たちとやりとりする簡単な方法でもある。

3.4.1. Addr-spec specification 3.4.1. addr-spec 仕様

An addr-spec is a specific Internet identifier that contains a locally interpreted string followed by the at-sign character ("@", ASCII value 64) followed by an Internet domain. The locally interpreted string is either a quoted-string or a dot-atom. If the string can be represented as a dot-atom (that is, it contains no characters other than atext characters or "." surrounded by atext characters), then the dot-atom form SHOULD be used and the quoted-string form SHOULD NOT be used. Comments and folding white space SHOULD NOT be used around the "@" in the addr-spec. addr-spec は具体的なインターネット識別子であり、ローカルで解釈される文字列の後にアットマーク("@" ASCII 値 64)、その後にインターネットドメイン名を持つ。ローカルで解釈される文字列は quoted-string または dot-atom のどちらかである。この文字列を dot-atom として表すことが可能な場合(つまり atext 文字の間に atext 文字か "." かだけを含む場合)には dot-atom 形式を使用するべき(SHOULD)であり、quoted-string 形式を使用するべきではない(SHOULD NOT)。"@" の前後にコメントや空白の折り返しを使用するべきではない(SHOULD)。

addr-spec       =       local-part "@" domain

local-part      =       dot-atom / quoted-string / obs-local-part

domain          =       dot-atom / domain-literal / obs-domain

domain-literal  =       [CFWS] "[" *([FWS] dcontent) [FWS] "]" [CFWS]

dcontent        =       dtext / quoted-pair

dtext           =       NO-WS-CTL /     ; Non white space controls

                        %d33-90 /       ; The rest of the US-ASCII
                        %d94-126        ;  characters not including "[",
                                        ;  "]", or "\"
addr-spec       =       local-part "@" domain

local-part      =       dot-atom / quoted-string / obs-local-part

domain          =       dot-atom / domain-literal / obs-domain

domain-literal  =       [CFWS] "[" *([FWS] dcontent) [FWS] "]" [CFWS]

dcontent        =       dtext / quoted-pair

dtext           =       NO-WS-CTL /     ; 空白・制御文字以外
                        %d33-90 /       ; "["・"]"・"\"を除く、残りの
                        %d94-126        ; US-ASCII 文字

The domain portion identifies the point to which the mail is delivered. In the dot-atom form, this is interpreted as an Internet domain name (either a host name or a mail exchanger name) as described in [STD3, STD13, STD14]. In the domain-literal form, the domain is interpreted as the literal Internet address of the particular host. In both cases, how addressing is used and how messages are transported to a particular host is covered in the mail transport document [RFC2821]. These mechanisms are outside of the scope of this document. domain はメールの配送先を表す。dot-atom 形式の場合、[STD3, STD13, STD14] で説明されているインターネットドメイン名(ホスト名またはメールエクスチェンジャ名)として解釈される。domain-literal 形式の場合、特定ホストのインターネットアドレスであると解釈される。どちらの場合でも、アドレス指定が使われる方法と特定のホストへとメッセージが転送される方法は、メール転送に関する文書 [RFC2821] にて網羅されている。それらのメカニズムはこの文書の範囲外である。

The local-part portion is a domain dependent string. In addresses, it is simply interpreted on the particular host as a name of a particular mailbox. local-part はドメインに依存する文字列である。アドレスにおいては、特定のホスト上で特定のメールボックス名として解釈される。

3.5 Overall message syntax 3.5. メッセージ文法の概要

A message consists of header fields, optionally followed by a message body. Lines in a message MUST be a maximum of 998 characters excluding the CRLF, but it is RECOMMENDED that lines be limited to 78 characters excluding the CRLF. (See section 2.1.1 for explanation.) In a message body, though all of the characters listed in the text rule MAY be used, the use of US-ASCII control characters (values 1 through 8, 11, 12, and 14 through 31) is discouraged since their interpretation by receivers for display is not guaranteed. メッセージはヘッダフィールドと、オプションでそれに続くメッセージボディから構成される。メッセージ内の各行は CRLF を除いて 998 文字以下でなければならない(MUST)。また CRLF を除いて 78 文字以下にすることが推奨される(RECOMMENDED)(セクション 2.1.1 参照)。メッセージボディには text 規則に含まれる全ての文字の使用を許してよい(MAY)が、US-ASCII 制御文字(値 1~8、11、12、14~31)は受信者側で表示する際に正しく解釈される保証がないため、推奨されない。

message         =       (fields / obs-fields)
                        [CRLF body]

body            =       *(*998text CRLF) *998text

The header fields carry most of the semantic information and are defined in section 3.6. The body is simply a series of lines of text which are uninterpreted for the purposes of this standard. ヘッダフィールドは意味情報の大半を運ぶものであり、セクション 3.6 で定義されている。メッセージボディは単純なテキストの連続行であり、この標準の目的の範囲において解釈されることはない。

3.6. Field definitions 3.6. フィールド定義

The header fields of a message are defined here. All header fields have the same general syntactic structure: A field name, followed by a colon, followed by the field body. The specific syntax for each header field is defined in the subsequent sections. ここではメッセージのヘッダフィールドを定義する。すべてのヘッダフィールドは共通の文法構造(フィールド名・コロン・フィールド本文)を持つ。各ヘッダフィールド固有の文法は後続のセクションで定義される。

Note: In the ABNF syntax for each field in subsequent sections, each field name is followed by the required colon. However, for brevity sometimes the colon is not referred to in the textual description of the syntax. It is, nonetheless, required. 注意:後続セクションの各フィールドの ABNF 文法において、各フィールド名の後には必須のコロンが続いている。各文法の説明文の中では簡潔さのためにこのコロンに言及していない場合があるが、このコロンは必須である。

It is important to note that the header fields are not guaranteed to be in a particular order. They may appear in any order, and they have been known to be reordered occasionally when transported over the Internet. However, for the purposes of this standard, header fields SHOULD NOT be reordered when a message is transported or transformed. More importantly, the trace header fields and resent header fields MUST NOT be reordered, and SHOULD be kept in blocks prepended to the message. See sections 3.6.6 and 3.6.7 for more information. ヘッダフィールドが特定の順序で並んでいることが保証されないことに注意するのは重要である。ヘッダフィールドは任意の順序で現れることが可能であり、インターネット上を転送されるとき、場合によっては並び替えられることもある。しかしながらこの標準の目的のためには、メッセージが転送されたり変換されたりするときにヘッダフィールドが並び替えられるべきではない(SHOULD NOT)。さらに重要なこととして、trace ヘッダおよび resent ヘッダは並び替えられてはならず(MUST NOT)、メッセージの先頭にひとまとめにして追加されるべきである(SHOULD)。さらなる情報はセクション 3.6.6 および 3.6.7 を参照してほしい。

The only required header fields are the origination date field and the originator address field(s). All other header fields are syntactically optional. More information is contained in the table following this definition. 必須のヘッダフィールドは発信日付(origination date)フィールドと発信元アドレス(originator address)フィールドだけである。それ以外のすべてのヘッダフィールドは文法的にはオプションである。さらなる情報はこの定義の後の表に含まれている。

fields          =       *(trace
                          *(resent-date /
                           resent-from /
                           resent-sender /
                           resent-to /
                           resent-cc /
                           resent-bcc /
                           resent-msg-id))
                        *(orig-date /
                        from /
                        sender /
                        reply-to /
                        to /
                        cc /
                        bcc /
                        message-id /
                        in-reply-to /
                        references /
                        subject /
                        comments /
                        keywords /
                        optional-field)

The following table indicates limits on the number of times each field may occur in a message header as well as any special limitations on the use of those fields. An asterisk next to a value in the minimum or maximum column indicates that a special restriction appears in the Notes column. 以下の表は、メッセージヘッダの中で各フィールドが現れる回数の制限と、各フィールドを使用するにあたっての特別な制限事項とを示している。最高回数・最低回数の各値の直後のアスタリスクは、注意欄に特別な制限事項が書かれていることを表している。

Field           Min number      Max number      Notes

trace           0               unlimited       Block prepended - see
                                                3.6.7

resent-date     0*              unlimited*      One per block, required
                                                if other resent fields
                                                present - see 3.6.6

resent-from     0               unlimited*      One per block - see
                                                3.6.6

resent-sender   0*              unlimited*      One per block, MUST
                                                occur with multi-address
                                                resent-from - see 3.6.6

resent-to       0               unlimited*      One per block - see
                                                3.6.6

resent-cc       0               unlimited*      One per block - see
                                                3.6.6

resent-bcc      0               unlimited*      One per block - see
                                                3.6.6

resent-msg-id   0               unlimited*      One per block - see
                                                3.6.6

orig-date       1               1

from            1               1               See sender and 3.6.2

sender          0*              1               MUST occur with multi-
                                                address from - see 3.6.2

reply-to        0               1

to              0               1

cc              0               1

bcc             0               1

message-id      0*              1               SHOULD be present - see
                                                3.6.4

in-reply-to     0*              1               SHOULD occur in some
                                                replies - see 3.6.4

references      0*              1               SHOULD occur in some
                                                replies - see 3.6.4

subject         0               1

comments        0               unlimited

keywords        0               unlimited

optional-field  0               unlimited
フィールド      最低回数    最高回数    注意

trace           0           無制限      ひとまとめにして先頭に追加
                                        - 3.6.7 参照

resent-date     0*          無制限*     ブロックごとに 1 回
                                        他の resent フィールドがある場合は
                                        必須 - 3.6.6 参照

resent-from     0           無制限*     ブロックごとに 1 回 - 3.6.6 参照

resent-sender   0*          無制限*     ブロックごとに 1 回
                                        複数アドレスの resent-from と共に
                                        現れなければならない(MUST)
                                        3.6.6 参照

resent-to       0           無制限*     ブロックごとに 1 回 - 3.6.6 参照

resent-cc       0           無制限*     ブロックごとに 1 回 - 3.6.6 参照

resent-bcc      0           無制限*     ブロックごとに 1 回 - 3.6.6 参照

resent-msg-id   0           無制限*     ブロックごとに 1 回 - 3.6.6 参照

orig-date       1           1

from            1           1           sender 及び 3.6.2 参照

sender          0*          1           複数アドレスの from と共に
                                        現れなければならない(MUST)
                                        - 3.6.2 参照

reply-to        0           1

to              0           1

cc              0           1

bcc             0           1

message-id      0*          1           現れるべきである(SHOULD) - 3.6.4 参照

in-reply-to     0*          1           ある種の返信においては現れるべきで
                                        ある(SHOULD) - 3.6.4 参照

references      0*          1           ある種の返信においては現れるべきで
                                        ある(SHOULD) - 3.6.4 参照

subject         0           1

comments        0           無制限

keywords        0           無制限

optional-field  0           無制限

The exact interpretation of each field is described in subsequent sections. 各フィールドの正確な解釈は後続のセクションで説明される。

3.6.1. The origination date field 3.6.1. 発信日付フィールド

The origination date field consists of the field name "Date" followed by a date-time specification. 発信日付フィールドは "Date" とその後に続く date-time の指定とから構成される。

orig-date       =       "Date:" date-time CRLF

The origination date specifies the date and time at which the creator of the message indicated that the message was complete and ready to enter the mail delivery system. For instance, this might be the time that a user pushes the "send" or "submit" button in an application program. In any case, it is specifically not intended to convey the time that the message is actually transported, but rather the time at which the human or other creator of the message has put the message into its final form, ready for transport. (For example, a portable computer user who is not connected to a network might queue a message for delivery. The origination date is intended to contain the date and time that the user queued the message, not the time when the user connected to the network to send the message.) 発信日付は、メッセージが完成し、メール配送システムへの投入準備ができたことをメッセージ作成者が示した日付と時刻とを表す。これは例えば、ユーザーがアプリケーションの "送信(send)" ボタンまたは "投稿(submit)" ボタンを押した時刻であってよい。いずれにしても、これはメッセージが実際に転送された時刻ではなく、メッセージを作成した人または人以外の作成者が、メッセージを最終的に完成させて転送の準備ができた時刻を保持することを目的としたものである。(例えばネットワークに接続していない携帯型コンピュータの利用者は、メッセージを送信キューに入れるかもしれない。発信日時はメッセージを送信するためにユーザーがネットワークに接続した時刻ではなく、ユーザーがメッセージをキューに入れた日付・時刻であることを意図している。)

3.6.2. Originator fields 3.6.2. 発信元フィールド

The originator fields of a message consist of the from field, the sender field (when applicable), and optionally the reply-to field. The from field consists of the field name "From" and a comma-separated list of one or more mailbox specifications. If the from field contains more than one mailbox specification in the mailbox-list, then the sender field, containing the field name "Sender" and a single mailbox specification, MUST appear in the message. In either case, an optional reply-to field MAY also be included, which contains the field name "Reply-To" and a comma-separated list of one or more addresses. メッセージの発信元フィールドは、from フィールド及び(適切な場合には) sender フィールド、そしてオプションの reply-to フィールドから成る。from フィールドは "From" とカンマ区切りのひとつ以上のメールボックスの指定とから構成される。form フィールドの mailbox-list に二つ以上のメールボックスが含まれている場合、そのメッセージには sender フィールド(フィールド名 "Sender" と単独のメールボックスとを含む)が現れなければならない(MUST)。どちらの場合でもオプションで reply-to フィールドを含むことができ(MAY)、それにはフィールド名 "Reply-To" とひとつ以上のアドレスのカンマ区切りのリストとが含まれる。

from            =       "From:" mailbox-list CRLF

sender          =       "Sender:" mailbox CRLF

reply-to        =       "Reply-To:" address-list CRLF

The originator fields indicate the mailbox(es) of the source of the message. The "From:" field specifies the author(s) of the message, that is, the mailbox(es) of the person(s) or system(s) responsible for the writing of the message. The "Sender:" field specifies the mailbox of the agent responsible for the actual transmission of the message. For example, if a secretary were to send a message for another person, the mailbox of the secretary would appear in the "Sender:" field and the mailbox of the actual author would appear in the "From:" field. If the originator of the message can be indicated by a single mailbox and the author and transmitter are identical, the "Sender:" field SHOULD NOT be used. Otherwise, both fields SHOULD appear. 発信元フィールドはメッセージの送信元のメールボックスを表す。"From:" フィールドはメッセージの作者を表しており、そのメッセージの文章に対して責任を持つ人またはシステムの(ひとつ以上の)メールボックスである。"Sender:" フィールドはメッセージの実際の送信に責任を持つ代理人のメールボックスを表す。例えば、秘書が別の人のためにメッセージを送信する場合、"Sender:" にはその秘書のメールボックスが現れ、実際の作者は "From:" フィールドに現れることになる。メッセージの発信元が単独のメールボックスであり、かつ作者と送信者とが同一である場合、"Sender:" フィールドは使用されないべきである(SHOULD NOT)。そうでない場合、両方のフィールドが現れるべきである(SHOULD)。

The originator fields also provide the information required when replying to a message. When the "Reply-To:" field is present, it indicates the mailbox(es) to which the author of the message suggests that replies be sent. In the absence of the "Reply-To:" field, replies SHOULD by default be sent to the mailbox(es) specified in the "From:" field unless otherwise specified by the person composing the reply. 発信元フィールドはメッセージに返信する際に必要とされる情報も提供する。"Reply-To:" フィールドが現れる場合、そこに含まれるメールボックスはメッセージの作者が返信先として意図しているメールボックスである。"Reply-To:" フィールドが無い場合、返信者が特に指定しない限り、"From:" フィールドに指定されているメールボックスにデフォルトで返信が送信されるべきである(SHOULD)。

In all cases, the "From:" field SHOULD NOT contain any mailbox that does not belong to the author(s) of the message. See also section 3.6.3 for more information on forming the destination addresses for a reply. いかなる場合でも、メッセージの作者に属さないメールボックスを "From:" に含めるべきではない(SHOULD NOT)。返信先アドレスの選択に関するさらなる情報に付いてセクション 3.6.3 も参照してほしい。

3.6.3. Destination address fields 3.6.3. 宛先アドレスフィールド

The destination fields of a message consist of three possible fields, each of the same form: The field name, which is either "To", "Cc", or "Bcc", followed by a comma-separated list of one or more addresses (either mailbox or group syntax). メッセージの宛先フィールドは三つのフィールドから構成される。三つのフィールドは同じ形式であり、フィールド名("To"・"Cc"・"Bcc")の後にひとつ以上のアドレス(mailbox または group)のカンマ区切りのリストが続く。

to              =       "To:" address-list CRLF

cc              =       "Cc:" address-list CRLF

bcc             =       "Bcc:" (address-list / [CFWS]) CRLF

The destination fields specify the recipients of the message. Each destination field may have one or more addresses, and each of the addresses indicate the intended recipients of the message. The only difference between the three fields is how each is used. 宛先フィールドはメッセージの受信者を表す。各宛先フィールドはひとつ以上のアドレスを含み、各アドレスは目的のメッセージ受信者を表す。三つのフィールドの違いはその使われ方だけである。

The "To:" field contains the address(es) of the primary recipient(s) of the message. "To:" フィールドはメッセージの主要な受信者を表す。

The "Cc:" field (where the "Cc" means "Carbon Copy" in the sense of making a copy on a typewriter using carbon paper) contains the addresses of others who are to receive the message, though the content of the message may not be directed at them. "Cc:" フィールドは、メッセージの内容はその人たちに向けられたものではないかもしれないが、それを受け取るべき人のアドレスを含む("Cc" とは、タイプライターでカーボン紙を使ってコピーを取る意味の "Carbon Copy(カーボンコピー)" に由来する)。

The "Bcc:" field (where the "Bcc" means "Blind Carbon Copy") contains addresses of recipients of the message whose addresses are not to be revealed to other recipients of the message. There are three ways in which the "Bcc:" field is used. In the first case, when a message containing a "Bcc:" field is prepared to be sent, the "Bcc:" line is removed even though all of the recipients (including those specified in the "Bcc:" field) are sent a copy of the message. In the second case, recipients specified in the "To:" and "Cc:" lines each are sent a copy of the message with the "Bcc:" line removed as above, but the recipients on the "Bcc:" line get a separate copy of the message containing a "Bcc:" line. (When there are multiple recipient addresses in the "Bcc:" field, some implementations actually send a separate copy of the message to each recipient with a "Bcc:" containing only the address of that particular recipient.) Finally, since a "Bcc:" field may contain no addresses, a "Bcc:" field can be sent without any addresses indicating to the recipients that blind copies were sent to someone. Which method to use with "Bcc:" fields is implementation dependent, but refer to the "Security Considerations" section of this document for a discussion of each. "Bcc:" フィールド("Bcc" は "Blind Carbon Copy" の意味)もメッセージの受信者を表すが、そのアドレスは他の受信者に公開されない。"Bcc:" フィールドの実現方法は三つある。ひとつ目の方法は、"Bcc:" フィールドを含むメッセージの送信準備ができたときに "Bcc:" 行を削除することで、すべての受信者("Bcc:" で指定された受信者を含む)に同じメッセージのコピーを送信する。二つ目の方法は、"To:" と "Cc:" とに指定された受信者には "Bcc:" 行を削除したメッセージのコピーを送信し、"Bcc:" に指定された受信者には "Bcc:" 行を含む別のコピーを送信する("Bcc:" に複数のアドレスが指定されていた場合、実装によっては各アドレスごとに "Bcc:" にそのアドレスだけを含むメッセージのコピーを送信する)。最後の方法に、"Bcc:" フィールドはアドレスを含まなくてもよいので、ブラインドコピーが誰に送られたのかを受信者に示さないように、アドレスを含まない "Bcc:" フィールドを送信する。"Bcc:" フィールドをどの方法で使用するかは実装に依存するが、それぞれの方法に関する議論について、この文書の "セキュリティ考察" セクションを参照してほしい。

When a message is a reply to another message, the mailboxes of the authors of the original message (the mailboxes in the "From:" field) or mailboxes specified in the "Reply-To:" field (if it exists) MAY appear in the "To:" field of the reply since these would normally be the primary recipients of the reply. If a reply is sent to a message that has destination fields, it is often desirable to send a copy of the reply to all of the recipients of the message, in addition to the author. When such a reply is formed, addresses in the "To:" and "Cc:" fields of the original message MAY appear in the "Cc:" field of the reply, since these are normally secondary recipients of the reply. If a "Bcc:" field is present in the original message, addresses in that field MAY appear in the "Bcc:" field of the reply, but SHOULD NOT appear in the "To:" or "Cc:" fields. メッセージに返信するとき、元のメッセージの作者("From:" フィールドのメールボックス)または(もしあれば) "Reply-To:" フィールドで指定されたメールボックスが、その返信の "To:" フィールドに現れてもよい(MAY)。通常それらのアドレスは返信の主要な受信者である。複数の宛先フィールドを持つメッセージに返信する場合、元の作者に加えて、メッセージのすべての受信者に返信することが望ましい。そのような返信を作成する場合、元のメッセージの "To:" 及び "Cc:" のアドレスは、その返信にとって通常あまり重要ではない受信者であるため、返信の "Cc:" フィールドに現れてもよい(MAY)。元のメッセージに "Bcc:" フィールドがあった場合、返信の "Bcc:" フィールドにはそのアドレスが現れてもよい(MAY)が、"To:" や "Cc:" に現れるべきではない(SHOULD NOT)。

Note: Some mail applications have automatic reply commands that include the destination addresses of the original message in the destination addresses of the reply. How those reply commands behave is implementation dependent and is beyond the scope of this document. In particular, whether or not to include the original destination addresses when the original message had a "Reply-To:" field is not addressed here. 注意:一部のメールアプリケーションは、返信の宛先アドレスに元のメールの宛先アドレスを含める自動返信コマンドを持っている。このような返信コマンドの動作は実装に依存するものであり、この文書の範囲外である。特に、元のメッセージが "Reply-To:" フィールドを持っていた場合にも元の宛先アドレスを含めるかどうかは、ここでは規定されない。

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. 任意であるとはいえ、すべてのメッセージは "Messge-ID:" フィールドを持つべきである(SHOULD)。また返信メッセージは、後述の "In-Reply-To:" と "References:" とを必要に応じて持つべきである(SHOULD)。

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:" フィールドはそれぞれ、オプションで CFWS によって区切られたひとつまたは複数のユニークなメッセージ識別子を含む。

The message identifier (msg-id) is similar in syntax to an angle-addr construct without the internal CFWS. メッセージ識別子(msg-id)の文法は内部の CFWS を除いて angle-addr 構造に似ている。

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. 注意:メッセージが "変更される(changed)" 場合というのは数多くあるが、そのような変更はメッセージの新しいインスタンスを生成せず、したがって新しいメッセージ識別子を取ることもない。例えばメッセージが配送システムに投入されたとき、メッセージの先頭に trace フィールド(セクション 3.6.7 で説明されている)や resent フィールド(セクション 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:" フィールドは返信において元のメッセージを特定するために使用され、"References:" フィールドは会話の "スレッド(thread)" を特定するために使用される。

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:" フィールドは、返信しようとしているメッセージ("親メッセージ(parent message)")の "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. 注意:一部の実装は "議論のスレッド(thread of the discussion)" を表示するために "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 a similar syntax to angle-addr (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)はグローバルにユニークでなければならない(MUST)。メッセージ識別子の生成者は msg-id の一意性を保証しなければならない(MUST)。そのためのアルゴリズムはいくつかある。msg-id は angle-addr に似た文法である(コメントと折り返された空白とが許されないことを除いて同一である)ので、メッセージ識別子を作成するホストのドメイン名(または IP アドレスのリテラル表現)を "@" の右側に置き、左側に現在の日付時刻とそのシステムで利用可能なユニークな(おそらくシーケンシャルな)識別子(例えばプロセス ID)とを置くのが良い方法である。二つのホストが同時に同じドメイン名または IP アドレスを使用することはないため、左側に日付と時刻、右側にドメイン名またはドメインリテラルを使用することで一意性を保証できる。これ以外のアルゴリズムでも正常に動作するだろうが、メッセージ識別子の生成者は左側の値がドメイン内でユニークであることを保証できるように、右側には何らかのドメイン識別子を含めることが推奨される(RECOMMENDED)。

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 はアングルブラケットの間に含まれている内容である。

3.6.5. Informational fields 3.6.5. 情報フィールド

The informational fields are all optional. The "Keywords:" field contains a comma-separated list of one or more words or quoted-strings. The "Subject:" and "Comments:" fields are unstructured fields as defined in section 2.2.1, and therefore may contain text or folding white space. 情報フィールドはすべてオプションである。"Keywords:" フィールドはひとつ以上の quoted-string のカンマ区切りリストを含む。"Subject:" フィールドと "Comments:" フィールドはセクション 2.2.1 で定義されている非構造化フィールドであり、テキストまたは折り返された空白文字を含むことができる。

subject         =       "Subject:" unstructured CRLF

comments        =       "Comments:" unstructured CRLF

keywords        =       "Keywords:" phrase *("," phrase) CRLF

These three fields are intended to have only human-readable content with information about the message. The "Subject:" field is the most common and contains a short string identifying the topic of the message. When used in a reply, the field body MAY start with the string "Re: " (from the Latin "res", in the matter of) followed by the contents of the "Subject:" field body of the original message. If this is done, only one instance of the literal string "Re: " ought to be used since use of other strings or more than one instance can lead to undesirable consequences. The "Comments:" field contains any additional comments on the text of the body of the message. The "Keywords:" field contains a comma-separated list of important words and phrases that might be useful for the recipient. これら三つのフィールドは、メッセージに関して人が読むことのできる情報を持つことだけを目的としている。"Subject:" はもっとも一般的なフィールドで、メッセージの見出しを表す短い文字列を含む。返信におけるこのフィールド本文は、"Re:" (ラテン語の "res" に由来)の後に元のメッセージの "Subject:" フィールドの内容を続けてよい(MAY)。これを行うとき、他の文字列や二つ以上の "Re: " が使用されるのは望ましくないため、文字列 "Re: " をひとつだけ使うべきである。"Comments:" フィールドはメッセージボディに関する任意の追加コメントを含む。"Keywords:" フィールドは、受信者にとって役に立つかもしれない重要な単語や語句のカンマ区切りリストを含む。

3.6.6. Resent fields 3.6.6. 再送フィールド

Resent fields SHOULD be added to any message that is reintroduced by a user into the transport system. A separate set of resent fields SHOULD be added each time this is done. All of the resent fields corresponding to a particular resending of the message SHOULD be together. Each new set of resent fields is prepended to the message; that is, the most recent set of resent fields appear earlier in the message. No other fields in the message are changed when resent fields are added. 再送フィールドはユーザーが配送システムに再投入したすべてのメッセージに含まれるべきである(SHOULD)。再投入のたびに個別の再送フィールドの集合が追加されるべきである(SHOULD)。メッセージの特定の再送に関連するすべての再送フィールドはひとまとめにして置かれるべきである(SHOULD)。再送フィールドの新しい集合はメッセージの先頭に追加される。したがって、もっとも新しい再送フィールドがメッセージの前方に現れる。再送フィールドが追加されるとき、そのメッセージの他のフィールドは変更されない。

Each of the resent fields corresponds to a particular field elsewhere in the syntax. For instance, the "Resent-Date:" field corresponds to the "Date:" field and the "Resent-To:" field corresponds to the "To:" field. In each case, the syntax for the field body is identical to the syntax given previously for the corresponding field. 各再送フィールドの文法は、この文書内の他のフィールドの文法に対応する。例えば "Resent-Date:" フィールドは "Data:" フィールドに対応し、"Resent-To:" フィールドは "To:" フィールドに対応する。いずれの場合もフィールド本体の文法は対応するフィールドの文法と同じである。

When resent fields are used, the "Resent-From:" and "Resent-Date:" fields MUST be sent. The "Resent-Message-ID:" field SHOULD be sent. "Resent-Sender:" SHOULD NOT be used if "Resent-Sender:" would be identical to "Resent-From:". 再送フィールドが使用されるとき、"Resent-From:" フィールドと "Resent-Date:" フィールドとは必ず送信されなければならない(MUST)。"Resent-Message-ID:" フィールドは送信されるべきである(SHOULD)。"Resent-Sender:" が "Resent-From:" と同じ場合、"Resent-Sender:" は使用されないべきである(SHOULD NOT)。

resent-date     =       "Resent-Date:" date-time CRLF

resent-from     =       "Resent-From:" mailbox-list CRLF

resent-sender   =       "Resent-Sender:" mailbox CRLF

resent-to       =       "Resent-To:" address-list CRLF

resent-cc       =       "Resent-Cc:" address-list CRLF

resent-bcc      =       "Resent-Bcc:" (address-list / [CFWS]) CRLF

resent-msg-id   =       "Resent-Message-ID:" msg-id CRLF

Resent fields are used to identify a message as having been reintroduced into the transport system by a user. The purpose of using resent fields is to have the message appear to the final recipient as if it were sent directly by the original sender, with all of the original fields remaining the same. Each set of resent fields correspond to a particular resending event. That is, if a message is resent multiple times, each set of resent fields gives identifying information for each individual time. Resent fields are strictly informational. They MUST NOT be used in the normal processing of replies or other such automatic actions on messages. 再送フィールドは、そのメッセージがユーザーによって配送システムに再投入されたことを識別するために使用される。再送フィールドを使用する目的は、最終受信者に対してそのメッセージが元の送信者から(元のフィールドはすべて同じままで)直接送られたかのように見せることである。再送フィールドの各集合は、それぞれが個別の再送イベントに対応する。つまり、あるメッセージが複数回再送された場合には、それぞれに対応する再送フィールドの集合が各再送ごとの情報を表すことになる。再送フィールドは完全に情報提供のためのフィールドである。通常の返信処理やメッセージに対する自動アクションにおいて使用してはならない(MUST NOT)。

Note: Reintroducing a message into the transport system and using resent fields is a different operation from "forwarding". "Forwarding" has two meanings: One sense of forwarding is that a mail reading program can be told by a user to forward a copy of a message to another person, making the forwarded message the body of the new message. A forwarded message in this sense does not appear to have come from the original sender, but is an entirely new message from the forwarder of the message. On the other hand, forwarding is also used to mean when a mail transport program gets a message and forwards it on to a different destination for final delivery. Resent header fields are not intended for use with either type of forwarding. 注意:メッセージを配送システムに再投入して再送フィールドを使用することは、"転送(forwarding)" とは異なる操作である。"転送(forwarding)" には二つの意味がある。ひとつは、転送されるメッセージを新しいメッセージのボディにすることで、メール受信プログラムがユーザーの指示によって別の人にそのコピーを転送する場合である。この方法で転送されたメッセージは元の送信者から送られたようには見えず、転送者から送られた新しいメッセージに見える。転送のもうひとつの意味は、メール配送プログラムがメッセージを受け取り、最終配送のためにそれを別の宛先に転送する場合である。どちらの転送の場合にも、再送ヘッダフィールドが使われることはない。

The resent originator fields indicate the mailbox of the person(s) or system(s) that resent the message. As with the regular originator fields, there are two forms: a simple "Resent-From:" form which contains the mailbox of the individual doing the resending, and the more complex form, when one individual (identified in the "Resent-Sender:" field) resends a message on behalf of one or more others (identified in the "Resent-From:" field). 再送信の発信元フィールドは、そのメッセージを再送した人またはシステムのメールボックスを表す。通常の発信元フィールドと同様に二種類の形式がある。ひとつは再送した個人のメールボックスを含む単純な "Resent-From:" の形式、もうひとつはそれより複雑な形式で、一人または複数の人("Resent-From:" フィールドで特定される)に代わってメッセージを再送した個人("Resent-Sender:" フィールドで特定される)を表す形式である。

Note: When replying to a resent message, replies behave just as they would with any other message, using the original "From:", "Reply-To:", "Message-ID:", and other fields. The resent fields are only informational and MUST NOT be used in the normal processing of replies. 注意:再送メッセージに返信する際には、他のメッセージの場合と同じように、元の "From:"・"Reply-To:"・"Message-ID:"・その他のフィールド が使用される。再送フィールドは単に情報を提供するものであり、通常の返信処理において使用されてはならない(MUST NOT)。

The "Resent-Date:" indicates the date and time at which the resent message is dispatched by the resender of the message. Like the "Date:" field, it is not the date and time that the message was actually transported. "Resent-Date:" はメッセージの再送信者がその再送メッセージを発信した日付と時刻を表す。"Date:" フィールドと同じように、これはメッセージが実際に配送された日付と時刻ではない。

The "Resent-To:", "Resent-Cc:", and "Resent-Bcc:" fields function identically to the "To:", "Cc:", and "Bcc:" fields respectively, except that they indicate the recipients of the resent message, not the recipients of the original message. "Resent-To:"・"Resent-Cc:"・"Resent-Bcc:" の各フィールドは、それぞれ "To:"・"Cc:"・"Bcc:" の各フィールドと同じ働きをする。ただしこれらは元のメッセージの受信者ではなく、再送メッセージの受信者を表す。

The "Resent-Message-ID:" field provides a unique identifier for the resent message. "Resent-Message-ID:" フィールドは再送メッセージのためのユニークな識別子を提供する。

3.6.7. Trace fields 3.6.7. トレースフィールド

The trace fields are a group of header fields consisting of an optional "Return-Path:" field, and one or more "Received:" fields. The "Return-Path:" header field contains a pair of angle brackets that enclose an optional addr-spec. The "Received:" field contains a (possibly empty) list of name/value pairs followed by a semicolon and a date-time specification. The first item of the name/value pair is defined by item-name, and the second item is either an addr-spec, an atom, a domain, or a msg-id. Further restrictions may be applied to the syntax of the trace fields by standards that provide for their use, such as [RFC2821]. トレースフィールドは、オプションの "Return-Path:" フィールドと、ひとつまたは複数の "Received:" フィールドとから構成されるヘッダフィールドの組である。"Return-Path:" は、オプションの addr-spec を括るアングルブラケットの組を含む。"Received:" フィールドは名前/値の組のリスト(空の場合もある)の後にセミコロンと date-time の指定とが続く。名前/値の組の最初の項目は item-name によって定義され、二番目の項目は addr-spec・atom・domain・msg-id のいずれかである。トレースフィールドの利用法を提供する標準([RFC2821]など)によって、この文法にさらなる制限が課されてもよい。

trace           =       [return]
                        1*received

return          =       "Return-Path:" path CRLF

path            =       ([CFWS] "<" ([CFWS] / addr-spec) ">" [CFWS]) /
                        obs-path

received        =       "Received:" name-val-list ";" date-time CRLF

name-val-list   =       [CFWS] [name-val-pair *(CFWS name-val-pair)]

name-val-pair   =       item-name CFWS item-value

item-name       =       ALPHA *(["-"] (ALPHA / DIGIT))

item-value      =       1*angle-addr / addr-spec /
                         atom / domain / msg-id

A full discussion of the Internet mail use of trace fields is contained in [RFC2821]. For the purposes of this standard, the trace fields are strictly informational, and any formal interpretation of them is outside of the scope of this document. インターネットメールにおけるトレースフィールドの使用に関する議論の全容は [RFC2821] に含まれている。この標準においてトレースフィールドの内容は情報提供のためだけのものであり、正式な解釈についてはこの文書の範囲外である。

3.6.8. Optional fields 3.6.8. オプションフィールド

Fields may appear in messages that are otherwise unspecified in this standard. They MUST conform to the syntax of an optional-field. This is a field name, made up of the printable US-ASCII characters except SP and colon, followed by a colon, followed by any text which conforms to unstructured. メッセージ内にこの文書で規定されていないフィールドが現れてもよい。そのようなフィールドは optional-field の文法に従わなければならない(MUST)。optional-field は、SP とコロンとを除く印刷可能な US-ASCII 文字から成るフィールド名の後にコロン、次に unstructured に従う任意のテキストが続く。

The field names of any optional-field MUST NOT be identical to any field name specified elsewhere in this standard. optional-field のフィールド名は、この標準で規定されている他のフィールド名と同じであってはならない(MUST NOT)。

optional-field  =       field-name ":" unstructured CRLF

field-name      =       1*ftext

ftext           =       %d33-57 /               ; Any character except
                        %d59-126                ;  controls, SP, and
                                                ;  ":".
optional-field  =       field-name ":" unstructured CRLF

field-name      =       1*ftext

ftext           =       %d33-57 /               ; 制御文字、SP、":" を除く
                        %d59-126                ; 任意の文字

For the purposes of this standard, any optional field is uninterpreted. この標準の目的において、すべてのオプションフィールドはその内容を解釈されない。

4. Obsolete Syntax 4. 廃止された文法

Earlier versions of this standard allowed for different (usually more liberal) syntax than is allowed in this version. Also, there have been syntactic elements used in messages on the Internet whose interpretation have never been documented. Though some of these syntactic forms MUST NOT be generated according to the grammar in section 3, they MUST be accepted and parsed by a conformant receiver. This section documents many of these syntactic elements. Taking the grammar in section 3 and adding the definitions presented in this section will result in the grammar to use for interpretation of messages. この標準の過去のバージョンでは、このバージョンで許されているものとは異なる(たいてい寛容な)文法が許可されていた。また、インターネット上のメッセージで使用されてはいるが、その解釈が文書化されていない文法要素も存在する。セクション 3 の文法に従うのであればそのような文法要素を生成してはならない(MUST NOT)が、この標準に適合する受信者はこれらを受け入れ、解析しなければならない(MUST)。このセクションは、そのような文法要素の多くを文書化する。セクション 3 の文法を採用し、さらにこのセクションの定義を追加したものが、メッセージの解釈に使用すべき文法ということになる。

Note: This section identifies syntactic forms that any implementation MUST reasonably interpret. However, there are certainly Internet messages which do not conform to even the additional syntax given in this section. The fact that a particular form does not appear in any section of this document is not justification for computer programs to crash or for malformed data to be irretrievably lost by any implementation. To repeat an example, though this document requires lines in messages to be no longer than 998 characters, silently discarding the 999th and subsequent characters in a line without warning would still be bad behavior for an implementation. It is up to the implementation to deal with messages robustly. 注意:このセクションはすべての実装が合理的に解釈しなければならない(MUST)文法体系を示している。しかしながら、このセクションの追加文法にさえ従わないインターネットメッセージもやはり存在する。ある形式がこの文書のどのセクションにも現れないという事実は、コンピュータプログラムがクラッシュしたり、不正な形式のデータによって実装が回復不可能なほどの損失を受けることを正当化する理由にはならない。例を繰り返すと、この文書はメッセージの一行が 998 文字を超えないことを要求しているが、かといって警告なしに 999 文字目以降を破棄してしまうというのは悪い動作である。メッセージを堅牢に扱うことは実装の責任である。

One important difference between the obsolete (interpreting) and the current (generating) syntax is that in structured header field bodies (i.e., between the colon and the CRLF of any structured header field), white space characters, including folding white space, and comments can be freely inserted between any syntactic tokens. This allows many complex forms that have proven difficult for some implementations to parse. 廃止された(解釈される)文法と現在の(生成される)文法との重要な違いのひとつは、構造化フィールド本文において(つまり、構造化ヘッダフィールドのコロンと CRLF との間において)、文法要素の間に空白文字(空白の折り返しを含む)やコメントを自由に挿入できたことである。これにより一部の実装にとって解析が困難であることが判明している複雑な形式の多くを許されていた。

Another key difference between the obsolete and the current syntax is that the rule in section 3.2.3 regarding lines composed entirely of white space in comments and folding white space does not apply. See the discussion of folding white space in section 4.2 below. 廃止された文法と現在の文法との間のもうひとつの重要な違いは、コメントと空白文字の折り返しとにおける空白文字だけから成る行に関するセクション 3.2.3 の規則が適用されないことである。空白文字の折り返しに関する後述のセクション 4.2 の議論を参照してほしい。

Finally, certain characters that were formerly allowed in messages appear in this section. The NUL character (ASCII value 0) was once allowed, but is no longer for compatibility reasons. CR and LF were allowed to appear in messages other than as CRLF; this use is also shown here. 最後に、以前はメッセージ中に許可されていた特定の文字がこのセクションに示されている。かつては NUL 文字(ASCII 値 0)が許可されていたが、互換性のために現在は許可されていない。またかつては CRLF 以外の形で CR と LF とが現れることが許されていた。この使用法についてもここで示す。

Other differences in syntax and semantics are noted in the following sections. 文法と動作とにおけるその他の違いは以降のセクションに示されている。

4.1. Miscellaneous obsolete tokens 4.1. 種々の廃止されたトークン

These syntactic elements are used elsewhere in the obsolete syntax or in the main syntax. The obs-char and obs-qp elements each add ASCII value 0. Bare CR and bare LF are added to obs-text and obs-utext. The period character is added to obs-phrase. The obs-phrase-list provides for "empty" elements in a comma-separated list of phrases. これらの文法要素は、廃止された文法または主要な文法以外の場所で使用されている。obs-char と obs-qp には、それぞれ ASCII 値 0 が追加された。obs-text と obs-utext とに単独の CR 及び単独の LF が追加された。obs-phrase にピリオドが追加された。obs-phrase-list は、phrase のカンマ区切りリストにおいて "空の(empty)" 要素を許している。

Note: The "period" (or "full stop") character (".") in obs-phrase is not a form that was allowed in earlier versions of this or any other standard. Period (nor any other character from specials) was not allowed in phrase because it introduced a parsing difficulty distinguishing between phrases and portions of an addr-spec (see section 4.4). It appears here because the period character is currently used in many messages in the display-name portion of addresses, especially for initials in names, and therefore must be interpreted properly. In the future, period may appear in the regular syntax of phrase. 注意:obs-phrase における "ピリオド(period)"(または"終止符(full stop)")文字(".")は、この標準および他の標準の過去のバージョンで許可されていた形式ではない。phrase と addr-spec の一部と(セクション 4.4 参照)を区別するための解析が困難になるため、phrase 内のピリオド(および他の specials の文字)は許可されない。これは、現在多くのメッセージにおいてアドレスの diaplay-name 部分(特に名前のイニシャルの部分)にピリオドが使用されており、適切に解釈されなければならないため、ここに含まれている。将来 phrase の文法にピリオドが正式に含まれるかもしれない。

obs-qp          =       "\" (%d0-127)

obs-text        =       *LF *CR *(obs-char *LF *CR)

obs-char        =       %d0-9 / %d11 /          ; %d0-127 except CR and
                        %d12 / %d14-127         ;  LF

obs-utext       =       obs-text

obs-phrase      =       word *(word / "." / CFWS)

obs-phrase-list =       phrase / 1*([phrase] [CFWS] "," [CFWS]) [phrase]
obs-qp          =       "\" (%d0-127)

obs-text        =       *LF *CR *(obs-char *LF *CR)

obs-char        =       %d0-9 / %d11 /          ; CR・LF を除く %d0-127
                        %d12 / %d14-127

obs-utext       =       obs-text

obs-phrase      =       word *(word / "." / CFWS)

obs-phrase-list =       phrase / 1*([phrase] [CFWS] "," [CFWS]) [phrase]

Bare CR and bare LF appear in messages with two different meanings. In many cases, bare CR or bare LF are used improperly instead of CRLF to indicate line separators. In other cases, bare CR and bare LF are used simply as ASCII control characters with their traditional ASCII meanings. 単独の CR および単独の LF は二つの異なる意味で現れる。多くの場合、行の区切りを表す CRLF の代わりとして誤って使用されている。それ以外の場合、伝統的な ASCII の意味を持つ ASCII 制御文字として単純に使用されている。

4.2. Obsolete folding white space 4.2. 廃止された FWS

In the obsolete syntax, any amount of folding white space MAY be inserted where the obs-FWS rule is allowed. This creates the possibility of having two consecutive "folds" in a line, and therefore the possibility that a line which makes up a folded header field could be composed entirely of white space. 廃止された文法において obs-FWS が許可される場所には、空白の折り返しをどれだけ挿入してもよい(MAY)。これにより一行中に二つ以上の連続する "折り返し(fold)" を持つ可能性が生まれ、したがって折り返されたヘッダフィールドを構成するある行がすべて空白から構成される可能性がある。

   obs-FWS         =       1*WSP *(CRLF 1*WSP)

4.3. Obsolete Date and Time 4.3. 廃止された日付と時刻

The syntax for the obsolete date format allows a 2 digit year in the date field and allows for a list of alphabetic time zone specifications that were used in earlier versions of this standard. It also permits comments and folding white space between many of the tokens. 廃止された日付の文法では日付フィールドに 2 桁の年が許可されている。またこの標準の以前のバージョンで使用されていたアルファベットのタイムゾーンのリストも許可されている。また大部分のトークンの間にコメントと空白の折り返しが許される。

obs-day-of-week =       [CFWS] day-name [CFWS]

obs-year        =       [CFWS] 2*DIGIT [CFWS]

obs-month       =       CFWS month-name CFWS

obs-day         =       [CFWS] 1*2DIGIT [CFWS]

obs-hour        =       [CFWS] 2DIGIT [CFWS]

obs-minute      =       [CFWS] 2DIGIT [CFWS]

obs-second      =       [CFWS] 2DIGIT [CFWS]

obs-zone        =       "UT" / "GMT" /          ; Universal Time
                                                ; North American UT
                                                ; offsets
                        "EST" / "EDT" /         ; Eastern:  - 5/ - 4
                        "CST" / "CDT" /         ; Central:  - 6/ - 5
                        "MST" / "MDT" /         ; Mountain: - 7/ - 6
                        "PST" / "PDT" /         ; Pacific:  - 8/ - 7

                        %d65-73 /               ; Military zones - "A"
                        %d75-90 /               ; through "I" and "K"
                        %d97-105 /              ; through "Z", both
                        %d107-122               ; upper and lower case
obs-day-of-week =       [CFWS] day-name [CFWS]

obs-year        =       [CFWS] 2*DIGIT [CFWS]

obs-month       =       CFWS month-name CFWS

obs-day         =       [CFWS] 1*2DIGIT [CFWS]

obs-hour        =       [CFWS] 2DIGIT [CFWS]

obs-minute      =       [CFWS] 2DIGIT [CFWS]

obs-second      =       [CFWS] 2DIGIT [CFWS]

obs-zone        =       "UT" / "GMT" /      ; 万国標準時
                                                ; 北アメリカ標準時
                                                ; オフセット
                        "EST" / "EDT" /     ; 東部標準時:   - 5/ - 4
                        "CST" / "CDT" /     ; 中央標準時:   - 6/ - 5
                        "MST" / "MDT" /     ; 山岳標準時:   - 7/ - 6
                        "PST" / "PDT" /     ; 太平洋標準時: - 8/ - 7

                        %d65-73 /               ; 軍事区域 - 大文字および小文字の
                        %d75-90 /               ; "A" ~ "I" と 
                        %d97-105 /              ; "K" ~ "Z"
                        %d107-122

Where a two or three digit year occurs in a date, the year is to be interpreted as follows: If a two digit year is encountered whose value is between 00 and 49, the year is interpreted by adding 2000, ending up with a value between 2000 and 2049. If a two digit year is encountered with a value between 50 and 99, or any three digit year is encountered, the year is interpreted by adding 1900. 日付に 2 桁または 3 桁の年が現れた場合、その年は次のように解釈される。00 ~ 49 の値を持つ 2 桁の年は 2000 を加算され、結果 2000 ~ 2049 として解釈される。50 ~ 99 の値を持つ 2 桁の年とすべての 3 桁の年は、1900 を加算された年として解釈される。

In the obsolete time zone, "UT" and "GMT" are indications of "Universal Time" and "Greenwich Mean Time" respectively and are both semantically identical to "+0000". 廃止されたタイムゾーンの "UT" および "GMT" はそれぞれ "万国標準時(Universal Time)" および "グリニッジ標準時(Greenwich Mean Time)" を表し、意味的にはともに "+0000" に等しい。

The remaining three character zones are the US time zones. The first letter, "E", "C", "M", or "P" stands for "Eastern", "Central", "Mountain" and "Pacific". The second letter is either "S" for "Standard" time, or "D" for "Daylight" (or summer) time. Their interpretations are as follows: 残りの三文字のゾーンはアメリカ合衆国(US)のタイムゾーンである。先頭の文字 "E"・"C"・"M"・"P" はそれぞれ "東部(Eastern)"・"中央(Central)"・"山岳(Mountain)"・"太平洋(Pacific)" を意味する。二文字目は "標準(Standard time)" 時間を表す "S"、または "日光節約(Daylight time)"(または 夏)時間を表す "D" のどちらかである。それぞれの解釈は以下の通り:

   EDT is semantically equivalent to -0400
   EST is semantically equivalent to -0500
   CDT is semantically equivalent to -0500
   CST is semantically equivalent to -0600
   MDT is semantically equivalent to -0600
   MST is semantically equivalent to -0700
   PDT is semantically equivalent to -0700
   PST is semantically equivalent to -0800
  EDT は -0400 に等しい
  EST は -0500 に等しい
  CDT は -0500 に等しい
  CST は -0600 に等しい
  MDT は -0600 に等しい
  MST は -0700 に等しい
  PDT は -0700 に等しい
  PST は -0800 に等しい

The 1 character military time zones were defined in a non-standard way in [RFC822] and are therefore unpredictable in their meaning. The original definitions of the military zones "A" through "I" are equivalent to "+0100" through "+0900" respectively; "K", "L", and "M" are equivalent to "+1000", "+1100", and "+1200" respectively; "N" through "Y" are equivalent to "-0100" through "-1200" respectively; and "Z" is equivalent to "+0000". However, because of the error in [RFC822], they SHOULD all be considered equivalent to "-0000" unless there is out-of-band information confirming their meaning. 一文字の軍用タイムゾーンは [RFC822] において非標準の方法で定義されたため、その意味は予測できない。軍用タイムゾーンの元々の定義では、"A" ~ "I" はそれぞれ "+0100" ~ "+0900"、"K"・"L"・"M" はそれぞれ "+1000"・"+1100"・"+1200"、"N" ~ "Y" はそれぞれ "-0100" ~ "-1200"、"Z" は "+0000" に等しい。しかしながら [RFC822] の誤りのため、これらの意味を確認する他の情報がない限り、これらはすべて "-0000" に等しいとみなすべきである(SHOULD)。

Other multi-character (usually between 3 and 5) alphabetic time zones have been used in Internet messages. Any such time zone whose meaning is not known SHOULD be considered equivalent to "-0000" unless there is out-of-band information confirming their meaning. インターネットメッセージにおいて、アルファベット複数文字(普通は 3 ~ 5 文字)から成るその他のタイムゾーンが使用されてきた。意味を知られていないそのようなタイムゾーンは、その意味を確認する他の情報がない限り、"-0000" に等しいとみなすべきである(SHOULD)。

4.4. Obsolete Addressing 4.4. 廃止されたアドレス指定

There are three primary differences in addressing. First, mailbox addresses were allowed to have a route portion before the addr-spec when enclosed in "<" and ">". The route is simply a comma-separated list of domain names, each preceded by "@", and the list terminated by a colon. Second, CFWS were allowed between the period-separated elements of local-part and domain (i.e., dot-atom was not used). In addition, local-part is allowed to contain quoted-string in addition to just atom. Finally, mailbox-list and address-list were allowed to have "null" members. That is, there could be two or more commas in such a list with nothing in between them. アドレス指定には三つの主要な違いがある。第一に、メールボックスが "<" と ">" とに囲まれているとき、addr-spec の前に経路指定を持つことが許されていた。この経路はドメイン名の単純なカンマ区切りリストであり、それぞれのドメイン名は先頭に "@" を置き、コロンでリストが終わる。第二に、local-part と domain とのピリオド区切りの要素間に CFWS が許されていた(つまり dot-atom は使用されていなかった)。さらに local-part には、atom に加えて quoted-string を含むことが許されている。最後に mailbox-list と address-list とは "空の(null)" メンバーを持つことが許されていた。つまりこれらのリストに、間に何もない二つ以上のカンマを置くことが可能であった。

obs-angle-addr  =       [CFWS] "<" [obs-route] addr-spec ">" [CFWS]

obs-route       =       [CFWS] obs-domain-list ":" [CFWS]

obs-domain-list =       "@" domain *(*(CFWS / "," ) [CFWS] "@" domain)

obs-local-part  =       word *("." word)

obs-domain      =       atom *("." atom)

obs-mbox-list   =       1*([mailbox] [CFWS] "," [CFWS]) [mailbox]

obs-addr-list   =       1*([address] [CFWS] "," [CFWS]) [address]

When interpreting addresses, the route portion SHOULD be ignored. アドレスを解釈するとき、経路指定部分は無視するべきである(SHOULD)。

4.5. Obsolete header fields 4.5. 廃止されたヘッダフィールド

Syntactically, the primary difference in the obsolete field syntax is that it allows multiple occurrences of any of the fields and they may occur in any order. Also, any amount of white space is allowed before the ":" at the end of the field name. 廃止されたフィールドの文法における主な違いは、すべてのフィールドが複数回任意の順序で現れることが許されている点である。また、フィールド名の終わりの ":" の前に任意の空白文字が許可されている。

obs-fields      =       *(obs-return /
                        obs-received /
                        obs-orig-date /
                        obs-from /
                        obs-sender /
                        obs-reply-to /
                        obs-to /
                        obs-cc /
                        obs-bcc /
                        obs-message-id /
                        obs-in-reply-to /
                        obs-references /
                        obs-subject /
                        obs-comments /
                        obs-keywords /
                        obs-resent-date /
                        obs-resent-from /
                        obs-resent-send /
                        obs-resent-rply /
                        obs-resent-to /
                        obs-resent-cc /
                        obs-resent-bcc /
                        obs-resent-mid /
                        obs-optional)

Except for destination address fields (described in section 4.5.3), the interpretation of multiple occurrences of fields is unspecified. Also, the interpretation of trace fields and resent fields which do not occur in blocks prepended to the message is unspecified as well. Unless otherwise noted in the following sections, interpretation of other fields is identical to the interpretation of their non-obsolete counterparts in section 3. 宛先アドレスフィールド(セクション 4.5.3 で説明されている)を除き、フィールドが複数回現れた場合の解釈は未定義である。また、トレースフィールドと再送フィールドとがメッセージの先頭にひとまとまりで追加されていない場合も、同様に未定義である。以下のセクションで特に注記がない限り、その他のフィールドの解釈はセクション 3 の対応するフィールドの解釈と同様である。

4.5.1. Obsolete origination date field 4.5.1. 廃止された送信日付フィールド

obs-orig-date   =       "Date" *WSP ":" date-time CRLF

4.5.2. Obsolete originator fields 4.5.2. 廃止された発信元フィールド

obs-from        =       "From" *WSP ":" mailbox-list CRLF

obs-sender      =       "Sender" *WSP ":" mailbox CRLF

obs-reply-to    =       "Reply-To" *WSP ":" mailbox-list CRLF

4.5.3. Obsolete destination address fields 4.5.3. 廃止された宛先フィールド

obs-to          =       "To" *WSP ":" address-list CRLF

obs-cc          =       "Cc" *WSP ":" address-list CRLF

obs-bcc         =       "Bcc" *WSP ":" (address-list / [CFWS]) CRLF

When multiple occurrences of destination address fields occur in a message, they SHOULD be treated as if the address-list in the first occurrence of the field is combined with the address lists of the subsequent occurrences by adding a comma and concatenating. メッセージ内に複数の宛先アドレスフィールドが現れた場合、それらは二番目以降のフィールドのアドレスリストがカンマと共に先頭のフィールドに連結された adress-list として扱われるべきである(SHOULD)。

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(word または quoted string) が現れても良いという点で現在の文法と異なる。廃止された形式の 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. loca-part 及び domain の前後の CFWS は、意味的にはそれぞれ obs-id-left 及び obs-id-right の一部ではない。

4.5.5. Obsolete informational fields 4.5.5. 廃止された情報フィールド

obs-subject     =       "Subject" *WSP ":" unstructured CRLF

obs-comments    =       "Comments" *WSP ":" unstructured CRLF

obs-keywords    =       "Keywords" *WSP ":" obs-phrase-list CRLF

4.5.6. Obsolete resent fields 4.5.6. 廃止された再送フィールド

The obsolete syntax adds a "Resent-Reply-To:" field, which consists of the field name, the optional comments and folding white space, the colon, and a comma separated list of addresses. 廃止された文法には "Resent-Reply-To:" フィールドが追加されている。これはフィールド名、オプションのコメントと空白の折り返し、コロン、カンマ区切りのアドレスリストから構成される。

obs-resent-from =       "Resent-From" *WSP ":" mailbox-list CRLF

obs-resent-send =       "Resent-Sender" *WSP ":" mailbox CRLF

obs-resent-date =       "Resent-Date" *WSP ":" date-time CRLF

obs-resent-to   =       "Resent-To" *WSP ":" address-list CRLF

obs-resent-cc   =       "Resent-Cc" *WSP ":" address-list CRLF

obs-resent-bcc  =       "Resent-Bcc" *WSP ":"
                         (address-list / [CFWS]) CRLF

obs-resent-mid  =       "Resent-Message-ID" *WSP ":" msg-id CRLF

obs-resent-rply =       "Resent-Reply-To" *WSP ":" address-list CRLF

As with other resent fields, the "Resent-Reply-To:" field is to be treated as trace information only. 他の再送フィールドと同様、"Resent-Reply-To:" フィールドは単なるトレース情報として扱われるべきである。

4.5.7. Obsolete trace fields 4.5.7. 廃止されたトレースフィールド

The obs-return and obs-received are again given here as template definitions, just as return and received are in section 3. Their full syntax is given in [RFC2821]. セクション 3 の return 及び received と同じように、ここでテンプレート定義として obs-return 及び obs-received を再度示す。これらの完全な文法は [RFC2821] において示されている。

obs-return      =       "Return-Path" *WSP ":" path CRLF

obs-received    =       "Received" *WSP ":" name-val-list CRLF

obs-path        =       obs-angle-addr

4.5.8. Obsolete optional fields 4.5.8. 廃止されたオプションフィールド

obs-optional    =       field-name *WSP ":" unstructured CRLF

5. Security Considerations 5. セキュリティ考察

Care needs to be taken when displaying messages on a terminal or terminal emulator. Powerful terminals may act on escape sequences and other combinations of ASCII control characters with a variety of consequences. They can remap the keyboard or permit other modifications to the terminal which could lead to denial of service or even damaged data. They can trigger (sometimes programmable) answerback messages which can allow a message to cause commands to be issued on the recipient's behalf. They can also effect the operation of terminal attached devices such as printers. Message viewers may wish to strip potentially dangerous terminal escape sequences from the message prior to display. However, other escape sequences appear in messages for useful purposes (cf. [RFC2045, RFC2046, RFC2047, RFC2048, RFC2049, ISO2022]) and therefore should not be stripped indiscriminately. ターミナルまたはターミナルエミュレータにメッセージを表示する際には注意が必要である。高性能のターミナルは、エスケープシーケンスや他の ASCII 制御文字の組み合わせによって様々な結果を引き起こす可能性がある。例えばキーボードのキーマップを変更したり、サービス妨害あるいはデータ破壊さえも引き起こすような変更をターミナルに及ぼすかもしれない。これは、受信者に代わってコマンドを発行する(ときにプログラム可能な)アンサーバックメッセージを誘発する可能性がある。またこれは、ターミナルに接続しているプリンタなどの装置の動作に影響を与える可能性もある。メッセージの閲覧者は、メッセージを表示する前に潜在的に危険なエスケープシーケンスを取り除くことを望むかもしれない。しかしながら、メッセージ中のこれら以外のエスケープシーケンスは有用である([RFC2045, RFC2046, RFC2047, RFC2048, RFC2049, ISO2022] 参照)ため、無差別に取り除かれるべきではない。

Transmission of non-text objects in messages raises additional security issues. These issues are discussed in [RFC2045, RFC2046, RFC2047, RFC2048, RFC2049]. メッセージ中に非テキストのオブジェクトを含めて転送すると、さらなるセキュリティ問題を引き起こす。これらの問題については [RFC2045, RFC2046, RFC2047, RFC2048, RFC2049] で議論されている。

Many implementations use the "Bcc:" (blind carbon copy) field described in section 3.6.3 to facilitate sending messages to recipients without revealing the addresses of one or more of the addressees to the other recipients. Mishandling this use of "Bcc:" has implications for confidential information that might be revealed, which could eventually lead to security problems through knowledge of even the existence of a particular mail address. For example, if using the first method described in section 3.6.3, where the "Bcc:" line is removed from the message, blind recipients have no explicit indication that they have been sent a blind copy, except insofar as their address does not appear in the message header. Because of this, one of the blind addressees could potentially send a reply to all of the shown recipients and accidentally reveal that the message went to the blind recipient. When the second method from section 3.6.3 is used, the blind recipient's address appears in the "Bcc:" field of a separate copy of the message. If the "Bcc:" field sent contains all of the blind addressees, all of the "Bcc:" recipients will be seen by each "Bcc:" recipient. Even if a separate message is sent to each "Bcc:" recipient with only the individual's address, implementations still need to be careful to process replies to the message as per section 3.6.3 so as not to accidentally reveal the blind recipient to other recipients. ひとつまたは複数のアドレスをそれ以外の受信者に知らせることなくメッセージを送信する手助けをするために、多くの実装はセクション 3.6.3 で説明されている "Bcc:" (ブラインドカーボンコピー)フィールドを使用する。"Bcc:" の扱いを間違えると機密情報を公開してしまう可能性がある。特定のメールアドレスが実在するという事実を知られることでさえ、結果的にセキュリティ問題を引き起こす可能性がある。例えばセクション 3.6.3 で説明されている第一の方法を採用する場合、"Bcc:" はメッセージから取り除かれる。このとき "Bcc:" の受信者は、自身のアドレスがメッセージヘッダに含まれていないこと確認しない限り、ブラインドカーボンコピーを使って送信されたのだということを明確に知ることができない。そのため、"Bcc:" の受信者の一人がヘッダに明示されているすべての受信者に返信してしまうことで、そのメッセージが "Bcc:" の受信者に送られたことを無意識のうちに暴露してしまう可能性がある。セクション 3.6.3 の第二の方法を採用する場合、メッセージの各コピーの "Bcc:" フィールドにブラインドカーボンコピーの受信者が現れる。もし "Bcc:" フィールドにすべてのブラインドカーボンコピーのアドレスが含まれていると、すべての "Bcc:" 受信者が "Bcc:" の受信者全員のアドレスを見ることになる。"Bcc:" の各受信者に対して個別のアドレスだけを持つメッセージを送信する場合でも、見えない受信者を無意識のうちに他の受信者に暴露してしまわないよう、実装はそのメッセージへの返信処理に注意する必要がある。

6. Bibliography 6. 参考文献

[ASCII]
American National Standards Institute (ANSI), Coded Character Set - 7-Bit American National Standard Code for Information Interchange, ANSI X3.4, 1986.
[ISO2022]
International Organization for Standardization (ISO), Information processing - ISO 7-bit and 8-bit coded character sets - Code extension techniques, Third edition - 1986-05-01, ISO 2022, 1986.
[RFC822]
Crocker, D., "Standard for the Format of ARPA Internet Text Messages", RFC 822, August 1982.
[RFC2045]
Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996.
[RFC2046]
Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, November 1996.
[RFC2047]
Moore, K., "Multipurpose Internet Mail Extensions (MIME) Part Three: Message Header Extensions for Non-ASCII Text", RFC 2047, November 1996.
[RFC2048]
Freed, N., Klensin, J. and J. Postel, "Multipurpose Internet Mail Extensions (MIME) Part Four: Format of Internet Message Bodies", RFC 2048, November 1996.
[RFC2049]
Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples", RFC 2049, November 1996.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2234]
Crocker, D., Editor, and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, November 1997.
[RFC2821]
Klensin, J., Editor, "Simple Mail Transfer Protocol", RFC 2821, March 2001.
[STD3]
Braden, R., "Host Requirements", STD 3, RFC 1122 and RFC 1123, October 1989.
[STD12]
Mills, D., "Network Time Protocol", STD 12, RFC 1119, September 1989.
[STD13]
Mockapetris, P., "Domain Name System", STD 13, RFC 1034 and RFC 1035, November 1987.
[STD14]
Partridge, C., "Mail Routing and the Domain System", STD 14, RFC 974, January 1986.

7. Editor's Address 7. 著者のアドレス

Peter W. Resnick
QUALCOMM Incorporated
5775 Morehouse Drive
San Diego, CA 92121-1714
USA

Phone: +1 858 651 4478
Fax: +1 858 651 1102
EMail: presnick@qualcomm.com

8. Acknowledgements 8. 謝辞

Many people contributed to this document. They included folks who participated in the Detailed Revision and Update of Messaging Standards (DRUMS) Working Group of the Internet Engineering Task Force (IETF), the chair of DRUMS, the Area Directors of the IETF, and people who simply sent their comments in via e-mail. The editor is deeply indebted to them all and thanks them sincerely. The below list includes everyone who sent e-mail concerning this document. Hopefully, everyone who contributed is named here: 多くの人々がこの文書に貢献している。その中には Internet Engineering Task Force (IETF) の Detailed Revision に参加している人や、DRUMS の議長、IETF の Area Director、メールでコメントを送ってくれた人も含まれている。著者は彼ら全員に深い恩恵を受けており、心から感謝の意を表す。下記のリストは、この文書に関連するメールを送ってくれたすべての人々である。貢献してくれたすべての人々がここに記されていることを願う:

   Matti Aarnio              Barry Finkel           Larry Masinter
   Tanaka Akira              Erik Forsberg          Denis McKeon
   Russ Allbery              Chuck Foster           William P McQuillan
   Eric Allman               Paul Fox               Alexey Melnikov
   Harald Tveit Alvestrand   Klaus M. Frank         Perry E. Metzger
   Ran Atkinson              Ned Freed              Steven Miller
   Jos Backus                Jochen Friedrich       Keith Moore
   Bruce Balden              Randall C. Gellens     John Gardiner Myers
   Dave Barr                 Sukvinder Singh Gill   Chris Newman
   Alan Barrett              Tim Goodwin            John W. Noerenberg
   John Beck                 Philip Guenther        Eric Norman
   J. Robert von Behren      Tony Hansen            Mike O'Dell
   Jos den Bekker            John Hawkinson         Larry Osterman
   D. J. Bernstein           Philip Hazel           Paul Overell
   James Berriman            Kai Henningsen         Jacob Palme
   Norbert Bollow            Robert Herriot         Michael A. Patton
   Raj Bose                  Paul Hethmon           Uzi Paz
   Antony Bowesman           Jim Hill               Michael A. Quinlan
   Scott Bradner             Paul E. Hoffman        Eric S. Raymond
   Randy Bush                Steve Hole             Sam Roberts
   Tom Byrer                 Kari Hurtta            Hugh Sasse
   Bruce Campbell            Marco S. Hyman         Bart Schaefer
   Larry Campbell            Ofer Inbar             Tom Scola
   W. J. Carpenter           Olle Jarnefors         Wolfgang Segmuller
   Michael Chapman           Kevin Johnson          Nick Shelness
   Richard Clayton           Sudish Joseph          John Stanley
   Maurizio Codogno          Maynard Kang           Einar Stefferud
   Jim Conklin               Prabhat Keni           Jeff Stephenson
   R. Kelley Cook            John C. Klensin        Bernard Stern
   Steve Coya                Graham Klyne           Peter Sylvester
   Mark Crispin              Brad Knowles           Mark Symons
   Dave Crocker              Shuhei Kobayashi       Eric Thomas
   Matt Curtin               Peter Koch             Lee Thompson
   Michael D'Errico          Dan Kohn               Karel De Vriendt
   Cyrus Daboo               Christian Kuhtz        Matthew Wall
   Jutta Degener             Anand Kumria           Rolf Weber
   Mark Delany               Steen Larsen           Brent B. Welch
   Steve Dorner              Eliot Lear             Dan Wing
   Harold A. Driscoll        Barry Leiba            Jack De Winter
   Michael Elkins            Jay Levitt             Gregory J. Woodhouse
   Robert Elz                Lars-Johan Liman       Greg A. Woods
   Johnny Eriksson           Charles Lindsey        Kazu Yamamoto
   Erik E. Fair              Pete Loshin            Alain Zahm
   Roger Fajman              Simon Lyall            Jamie Zawinski
   Patrik Faltstrom          Bill Manning           Timothy S. Zurcher
   Claus Andre Farber        John Martin

Appendix A. Example messages 付録 A. メッセージの例

This section presents a selection of messages. These are intended to assist in the implementation of this standard, but should not be taken as normative; that is to say, although the examples in this section were carefully reviewed, if there happens to be a conflict between these examples and the syntax described in sections 3 and 4 of this document, the syntax in those sections is to be taken as correct. このセクションではいくつかのメッセージを提示する。これらはこの標準の実装を手助けすることを目的としたものであり、模範として受け取るべきでものではない。つまり、このセクションの例は注意深く検討されているとはいえ、もしこれらの例とセクション 3・4 で説明されている文法との間に矛盾する部分があった場合には、セクション 3・4 の文法を正しいものと受け取るべきである。

Messages are delimited in this section between lines of "----". The "----" lines are not part of the message itself. このセクションでは二つの "----" の間の範囲をメッセージとする。"----" の行そのものはメッセージの一部ではない。

A.1. Addressing examples A.1. アドレス指定の例

The following are examples of messages that might be sent between two individuals. 以下の例は、二人の個人の間で送信されたであろうメッセージである。

A.1.1. A message from one person to another with simple addressing A.1.1. 個人から個人への単純なアドレス指定によるメッセージ

This could be called a canonical message. It has a single author, John Doe, a single recipient, Mary Smith, a subject, the date, a message identifier, and a textual message in the body. これは標準的なメッセージと言えるだろう。単独の作者 John Doe と単独の受信者 Mary Smith、サブジェクト、日付、メッセージ識別子、そしてボディにはテキストのメッセージを持つ。

----
From: John Doe <jdoe@machine.example>
To: Mary Smith <mary@example.net>
Subject: Saying Hello
Date: Fri, 21 Nov 1997 09:55:06 -0600
Message-ID: <1234@local.machine.example>

This is a message just to say hello.
So, "Hello".
----

If John's secretary Michael actually sent the message, though John was the author and replies to this message should go back to him, the sender field would be used: メッセージを実際に送信したのが John の秘書 Michael だった場合、このメッセージへの返信は作者である John に返されるべきだが、sender フィールドが使われることになる:

----
From: John Doe <jdoe@machine.example>
Sender: Michael Jones <mjones@machine.example>
To: Mary Smith <mary@example.net>
Subject: Saying Hello
Date: Fri, 21 Nov 1997 09:55:06 -0600
Message-ID: <1234@local.machine.example>

This is a message just to say hello.
So, "Hello".
----

A.1.2. Different types of mailboxes A.1.2. 様々な種類のメールボックス

This message includes multiple addresses in the destination fields and also uses several different forms of addresses. このメッセージは宛先フィールドに複数のアドレスを含んでおり、またそれぞれのアドレスの形式も異なる。

----
From: "Joe Q. Public" <john.q.public@example.com>
To: Mary Smith <mary@x.test>, jdoe@example.org, Who? <one@y.test>
Cc: <boss@nil.test>, "Giant; \"Big\" Box" <sysservices@example.net>
Date: Tue, 1 Jul 2003 10:52:37 +0200
Message-ID: <5678.21-Nov-1997@example.com>

Hi everyone.
----

Note that the display names for Joe Q. Public and Giant; "Big" Box needed to be enclosed in double-quotes because the former contains the period and the latter contains both semicolon and double-quote characters (the double-quote characters appearing as quoted-pair construct). Conversely, the display name for Who? could appear without them because the question mark is legal in an atom. Notice also that jdoe@example.org and boss@nil.test have no display names associated with them at all, and jdoe@example.org uses the simpler address form without the angle brackets. Joe Q. Public はピリオドを含んでおり、Giant; "Big" Box はセミコロンと引用符とを含んでいるため、それぞれ表示名を引用符で囲う必要があることに注意してほしい(引用符は quoted-pair 構造として現れる)。それに対して疑問符は atom における正当な文字として認められているため、Who? の表示名は引用符なしで現れている。また jdoe@example.org 及び boss@nil.test はともに対応する表示名を持たず、jdoe@example.org はさらに単純なアングルブラケットのないアドレスであることに注意してほしい。

A.1.3. Group addresses A.1.3. グループアドレス

----
From: Pete <pete@silly.example>
To: A Group:Chris Jones <c@a.test>,joe@where.test,John <jdoe@one.test>;
Cc: Undisclosed recipients:;
Date: Thu, 13 Feb 1969 23:32:54 -0330
Message-ID: <testabcd.1234@silly.example>

Testing.
----

In this message, the "To:" field has a single group recipient named A Group which contains 3 addresses, and a "Cc:" field with an empty group recipient named Undisclosed recipients. このメッセージでは、"To:" フィールドが A Group という名前の単一の group 受信者を持ち、それには三つのアドレスが含まれている。また "Cc:" フィールドは Undisclosed recipients という名前の空の group を持っている。

A.2. Reply messages A.2. 返信メッセージ

The following is a series of three messages that make up a conversation thread between John and Mary. John firsts sends a message to Mary, Mary then replies to John's message, and then John replies to Mary's reply message. 以下に示すのは、John と Mary との間での会話スレッドを構成する一連の 3 つのメッセージである。最初に John が Mary にメッセージを送り、Mary がそれに返信し、さらに John が返信している。

Note especially the "Message-ID:", "References:", and "In-Reply-To:" fields in each message. 特に各メッセージの "Message-ID:"・"References:"・"In-Reply-To:" に注目してほしい。

----
From: John Doe <jdoe@machine.example>
To: Mary Smith <mary@example.net>
Subject: Saying Hello
Date: Fri, 21 Nov 1997 09:55:06 -0600
Message-ID: <1234@local.machine.example>

This is a message just to say hello.
So, "Hello".
----

When sending replies, the Subject field is often retained, though prepended with "Re: " as described in section 3.6.5. 返信するとき Subject フィールドはしばしば保持されるが、セクション 3.6.5 で説明されている "Re: " が先頭に付けられる。

----
From: Mary Smith >mary@example.net>
To: John Doe >jdoe@machine.example>
Reply-To: "Mary Smith: Personal Account" >smith@home.example>
Subject: Re: Saying Hello
Date: Fri, 21 Nov 1997 10:01:10 -0600
Message-ID: >3456@example.net>
In-Reply-To: >1234@local.machine.example>
References: >1234@local.machine.example>

This is a reply to your hello.
----

Note the "Reply-To:" field in the above message. When John replies to Mary's message above, the reply should go to the address in the "Reply-To:" field instead of the address in the "From:" field. 上記のメッセージの "Reply-To:" フィールドに注目してほしい。John が上記の Mary のメッセージに返信するとき、その返信は "From:" フィールドのアドレスではなく、"Reply-To:" フィールドのアドレスに送られるべきである。

----
To: "Mary Smith: Personal Account" <smith@home.example>
From: John Doe <jdoe@machine.example>
Subject: Re: Saying Hello
Date: Fri, 21 Nov 1997 11:00:00 -0600
Message-ID: <abcd.1234@local.machine.tld>
In-Reply-To: <3456@example.net>
References: <1234@local.machine.example> <3456@example.net>

This is a reply to your reply.
----

A.3. Resent messages A.3. 再送メッセージ

Start with the message that has been used as an example several times: 何度か例として使ったメッセージから始めよう。

----
From: John Doe <jdoe@machine.example>
To: Mary Smith <mary@example.net>
Subject: Saying Hello
Date: Fri, 21 Nov 1997 09:55:06 -0600
Message-ID: <1234@local.machine.example>

This is a message just to say hello.
So, "Hello".
----

Say that Mary, upon receiving this message, wishes to send a copy of the message to Jane such that (a) the message would appear to have come straight from John; (b) if Jane replies to the message, the reply should go back to John; and (c) all of the original information, like the date the message was originally sent to Mary, the message identifier, and the original addressee, is preserved. In this case, resent fields are prepended to the message: このメッセージを受け取ったとき、Mary はそのコピーを Jane に送信したいと考えた。そして、(a) メッセージが直接 John から届いたように見せたい、(b) Jane がメッセージに返信するとき、John に返されるべきだ、(c) すべての元の情報(Mary に送信されたときの日付やメッセージ識別子、元のアドレスなど)を保持したいと考えた。この場合、メッセージの先頭に再送フィールドを付加する:

----
Resent-From: Mary Smith <mary@example.net>
Resent-To: Jane Brown <j-brown@other.example>
Resent-Date: Mon, 24 Nov 1997 14:22:01 -0800
Resent-Message-ID: <78910@example.net>
From: John Doe <jdoe@machine.example>
To: Mary Smith <mary@example.net>
Subject: Saying Hello
Date: Fri, 21 Nov 1997 09:55:06 -0600
Message-ID: <1234@local.machine.example>

This is a message just to say hello.
So, "Hello".
----

If Jane, in turn, wished to resend this message to another person, she would prepend her own set of resent header fields to the above and send that. Jane がこのメッセージをさらに別の人に再送したいと考えた場合、上記のメッセージの先頭に彼女自身の再送ヘッダフィールドを追加して送信することになる。

A.4. Messages with trace fields A.4. トレースフィールドを持つメッセージ

As messages are sent through the transport system as described in [RFC2821], trace fields are prepended to the message. The following is an example of what those trace fields might look like. Note that there is some folding white space in the first one since these lines can be long. [RFC2821] で説明されているような転送システムを通してメッセージが送信される場合、メッセージの先頭にトレースフィールドが追加される。以下の例はトレースフィールドがどのようなものであるかを示している。これらの行は長くなる可能性があるため、1 行目にはいくつか空白の折り返しが含まれていることに注意してほしい。

----
Received: from x.y.test
   by example.net
   via TCP
   with ESMTP
   id ABC12345
   for <mary@example.net>;  21 Nov 1997 10:05:43 -0600
Received: from machine.example by x.y.test; 21 Nov 1997 10:01:22 -0600
From: John Doe <jdoe@machine.example>
To: Mary Smith <mary@example.net>
Subject: Saying Hello
Date: Fri, 21 Nov 1997 09:55:06 -0600
Message-ID: <1234@local.machine.example>

This is a message just to say hello.
So, "Hello".
----

A.5. White space, comments, and other oddities A.5. 空白、コメント、その他

White space, including folding white space, and comments can be inserted between many of the tokens of fields. Taking the example from A.1.3, white space and comments can be inserted into all of the fields. フィールドの多くのトークン間に空白文字(空白の折り返しを含む)及びコメントを挿入することができる。A.1.3 の例に限れば、すべてのフィールドに空白及びコメントを挿入することができる。

----
From: Pete(A wonderful \) chap) <pete(his account)@silly.test(his host)>
To:A Group(Some people)
     :Chris Jones <c@(Chris's host.)public.example>,
         joe@example.org,
  John <jdoe@one.test> (my dear friend); (the end of the group)
Cc:(Empty list)(start)Undisclosed recipients  :(nobody(that I know))  ;
Date: Thu,
      13
        Feb
          1969
      23:32
               -0330 (Newfoundland Time)
Message-ID:              <testabcd.1234@silly.test>

Testing.
----

The above example is aesthetically displeasing, but perfectly legal. Note particularly (1) the comments in the "From:" field (including one that has a ")" character appearing as part of a quoted-pair); (2) the white space absent after the ":" in the "To:" field as well as the comment and folding white space after the group name, the special character (".") in the comment in Chris Jones's address, and the folding white space before and after "joe@example.org,"; (3) the multiple and nested comments in the "Cc:" field as well as the comment immediately following the ":" after "Cc"; (4) the folding white space (but no comments except at the end) and the missing seconds in the time of the date field; and (5) the white space before (but not within) the identifier in the "Message-ID:" field. 見た目は美しくないが、上記の例は完全に正しいものである。特に注意してほしい点は、(1) "From:" フィールド内のコメント(quoted-pair の一部として現れている文字 ")" を含む)、(2) "To:" フィールド内の ":" の後に空白がないこと、グループ名の後のコメントと空白の折り返し、Chris Jones のアドレス内のコメントに含まれる特殊文字(".")、"joe@example.org," の前後にある空白の折り返し、(3) "Cc" の後の ":" の直後のコメントと、"Cc:" フィールド内のネストしたコメント、(4) 日付フィールドの途中に空白の折り返しがあること(ただしコメントは終端だけにあること)、また時刻に秒がないこと、(5) "Message-ID:" フィールドの識別子の前(内側ではない)に空白があることである。

A.6. Obsoleted forms A.6. 廃止された形式

The following are examples of obsolete (that is, the "MUST NOT generate") syntactic elements described in section 4 of this document. セクション 4 で説明されている廃止された(つまり "生成してはならない(MUST NOT)")文法要素の例を以下に示す。

A.6.1. Obsolete addressing A.6.1. 廃止されたアドレス指定

Note in the below example the lack of quotes around Joe Q. Public, the route that appears in the address for Mary Smith, the two commas that appear in the "To:" field, and the spaces that appear around the "." in the jdoe address. 下記の例で注意してほしい点は、Joe Q. Public の前後に引用符がないこと、Mary Smith のアドレスの中に経路が含まれていること、jdoe のアドレスの "." の前後に空白があることである。

----
From: Joe Q. Public <john.q.public@example.com>
To: Mary Smith <@machine.tld:mary@example.net>, , jdoe@test   . example
Date: Tue, 1 Jul 2003 10:52:37 +0200
Message-ID: <5678.21-Nov-1997@example.com>

Hi everyone.
----

A.6.2. Obsolete dates A.6.2. 廃止された日付

The following message uses an obsolete date format, including a non- numeric time zone and a two digit year. Note that although the day-of-week is missing, that is not specific to the obsolete syntax; it is optional in the current syntax as well. 以下のメッセージは廃止された日付形式(数字ではないタイムゾーン、2 桁の年)を使用している。day-of-week がないが、これは廃止された文法に限ったことではなく、現在の文法でもオプションであることに注意してほしい。

----
From: John Doe <jdoe@machine.example>
To: Mary Smith <mary@example.net>
Subject: Saying Hello
Date: 21 Nov 97 09:55:06 GMT
Message-ID: <1234@local.machine.example>

This is a message just to say hello.
So, "Hello".
----

A.6.3. Obsolete white space and comments A.6.3. 廃止された空白とコメント

White space and comments can appear between many more elements than in the current syntax. Also, folding lines that are made up entirely of white space are legal. 空白とコメントは、現在の文法よりも多くの要素間に現れることができる。また、空白だけから成る折り返し行も許される。

----
From  : John Doe <jdoe@machine(comment).  example>
To    : Mary Smith
__
          <mary@example.net>
Subject     : Saying Hello
Date  : Fri, 21 Nov 1997 09(comment):   55  :  06 -0600
Message-ID  : <1234   @   local(blah)  .machine .example>

This is a message just to say hello.
So, "Hello".
----

Note especially the second line of the "To:" field. It starts with two space characters. (Note that "__" represent blank spaces.) Therefore, it is considered part of the folding as described in section 4.2. Also, the comments and white space throughout addresses, dates, and message identifiers are all part of the obsolete syntax. "To:" の二行目に特に注意してほしい。空白文字から始まっている("__" が空白を表している)。つまりこれは、セクション 4.2 で説明されている折り返しの一部と見なされているということである。またアドレス・日付・メッセージ識別子のそれぞれに含まれるコメントや空白も、すべて廃止された文法の一部である。

Appendix B. Differences from earlier standards 付録 B. 以前の標準からの変更点

This appendix contains a list of changes that have been made in the Internet Message Format from earlier standards, specifically [RFC822] and [STD3]. Items marked with an asterisk (*) below are items which appear in section 4 of this document and therefore can no longer be generated. この付録は、過去の標準(具体的には [RFC822] と [STD3])のインターネットメッセージフォーマットからの変更点の一覧である。アスタリスク(*)の項目はセクション 4 で示した項目であり、現在では生成できないものである。

  1. Period allowed in obsolete form of phrase. phrase にピリオドが許されていた
  2. ABNF moved out of document to [RFC2234]. ABNF が [RFC2234] に移された
  3. Four or more digits allowed for year. 4 桁以上の年が許されていた
  4. Header field ordering (and lack thereof) made explicit. ヘッダフィールドの順序(および欠如)が明確になった
  5. Encrypted header field removed. 暗号ヘッダフィールドが削除された
  6. Received syntax loosened to allow any token/value pair. 任意の token/value を許可するように緩和された
  7. Specifically allow and give meaning to "-0000" time zone. タイムゾーン "-0000" に具体的な意味が与えられ、許可された
  8. Folding white space is not allowed between every token. 空白の折り返しがすべてのトークン間に許されるわけではなくなった
  9. Requirement for destinations removed. 宛先に関する要求事項が削除された
  10. Forwarding and resending redefined. 転送と再送が再定義された
  11. Extension header fields no longer specifically called out. 拡張ヘッダフィールドは、もはや具体的に記されていない
  12. ASCII 0 (null) removed.* ASCII 0 (null) が削除された *
  13. Folding continuation lines cannot contain only white space.* 空白のみの連続行が許されなくなった *
  14. Free insertion of comments not allowed in date.* date における自由なコメントの挿入が許されなくなった *
  15. Non-numeric time zones not allowed.* 数字ではないタイムゾーンが許されなくなった *
  16. Two digit years not allowed.* 2 桁の年が許可されなくなった *
  17. Three digit years interpreted, but not allowed for generation. 3 桁の年は解釈されるが、生成することは許可されなくなった
  18. Routes in addresses not allowed.* アドレス内での経路指定が許されなくなった *
  19. CFWS within local-parts and domains not allowed.* local-part 及び domain 内の CFWS が許されなくなった *
  20. Empty members of address lists not allowed.* メンバーが空の address-list が許されなくなった *
  21. Folding white space between field name and colon not allowed.* フィールド名とコロンとの間の空白の折り返しが許されなくなった *
  22. Comments between field name and colon not allowed. フィールド名とコロンとの間のコメントが許されなくなった
  23. Tightened syntax of in-reply-to and references.* in-reply-to と references の文法が厳しくなった *
  24. CFWS within msg-id not allowed.* msg-id 内の CFWS が許されなくなった *
  25. Tightened semantics of resent fields as informational only. 再送フィールドが情報提供のみに制限された
  26. Resent-Reply-To not allowed.* Resent-Reply-To が許されなくなった *
  27. No multiple occurrences of fields (except resent and received).* (resent と received を除いて)フィールドが複数現れてはならない *
  28. Free CR and LF not allowed.* 自由な CR・LF が許されなくなった *
  29. Routes in return path not allowed.* return-path における経路指定が許可されなくなった *
  30. Line length limits specified. 行の長さが具体的に制限された
  31. Bcc more clearly specified. Bcc がより明確に規定された

Appendix C. Notices 付録 C. 通知

Intellectual Property

The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat.

Full Copyright Statement

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

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement 謝辞

Funding for the RFC Editor function is currently provided by the Internet Society. RFC Editor の活動資金は、現在 Internet Society によって提供されている。