今やメールは電話以上のコミュニケーション手段となった。WindowsやLinux、Mac OSなどさまざまなOSのコンピュータ同士で、その違いを意識することなくメールを送受信できるのは、メールのメッセージ形式に関する技術が標準化されているおかげである。
メールメッセージのルール
現在使われているメールメッセージ形式は、1982年のRFC 822(Standard for the format of ARPA Internet Text Messages)にて標準化されている。このRFCによってメッセージの構造や記述すべき情報、記述できる情報などが規定された。その後、不要な部分を削除し、あいまいな定義を改めて明確に規定したRFC 2822(Internet Message Format)が2001年に登場し、これがメールメッセージの標準となっている。
ではメッセージ形式を見ていこう。メールメッセージの基本的な構造は2つに分かれている。送信者や日時に宛先、件名などが表示されている部分は「ヘッダ」、メールメッセージ本文が表示されている部分は「ボディ」と呼ぶ。1つのメールメッセージはヘッダとボディを持ち、その境界は空行、すなわちCR(復帰)とLF(改行)だけの行で識別される(図1)。
メールメッセージのヘッダには、画面上に表示される送信者などの情報のほかに、メッセージ本文を記述している言語(文字コード)やメールクライアントの種類といった、ヘッダには表示されない情報もある。これらの情報は「ヘッダフィールド」と呼ばれ、1つのヘッダフィールドはヘッダフィールドの名前のあと、”:”(コロン)を区切りとして値が続く。たとえば図1を見ると、メールクライアントの画面に表示されるのは送信者の“From:”、宛先の“To:”、日付の“Date:”、件名の“Subject:”である。そのほかに、メッセージ本文のデータ形式を示す“Content-Type:”や、使用したメールクライアントを示す“X-Mailer:”など、表示されないヘッダフィールドが数多くあることがわかる。
また、ヘッダフィールド名の中に”X-”で始まるものがある。これはオプションのヘッダ情報である。RFC 822において独自のヘッダ情報を付加する場合は”X-”で始まるヘッダフィールド名を使うように規定されていた。しかし現在のRFC 2822の仕様では、RFCに定義されていないフィールド名はすべてオプションとなっている。これは旧仕様の名残である。
(次ページ、「MIMEとは」に続く)
この連載の記事
-
第6回
ネットワーク
メールシステムの脆弱性とその回避策 -
第5回
ネットワーク
メールを受け取る仕組みはどうなっていますか?? -
第4回
ネットワーク
メールを送受信する仕組みとは? -
第2回
ネットワーク
メールを支えるドメイン名とDNSの仕組み -
第1回
ネットワーク
メールが届く仕組みを知っていますか? -
ネットワーク
電子メールの秘密 - この連載の一覧へ