| メールヘッダーの説明 |
| Return-Path: |
ヘッダの一番上に付ける事になってる
Return-Path:フィールドは、一番最後にメールを受け取ったSMTPサーバが、Received:フィールドの更に上に付ける。ただし、必須フィールドではないので付けないサーバもある。
送信側で付けるものではない
エンベロープ
メールはヘッダと本文の2つで構成されるが、これとは別に封筒(エンベロープ)がある
エンベロープはメールソフトやサーバが自動的に生成
ユーザが普通にメールを読み書きしていても目に触れないかもしれない
SMTPの一般的なエンベロープには、MAIL FROM:とRCPT TO:がある
MAIL FROM:は封筒に書かれた送信者のアドレス。もし配送に問題が出た場合、このアドレス宛に通知メールが届く。
RCPT TO:は封筒に書かれた受信者のアドレス
メールサーバは、メールヘッダと本文を読むのではなく、エンベロープのアドレスを読んで配送を行なっている
ヘッダのFrom:とSMTPエンベロープのMAIL FROM:が異なる場合、エラー通知はオリジナルの著者ではなく管理者に届いた方が都合がいい
|
| Received: |
Received:フィールドは、ヘッダの一番上に付ける事になっている。だから、何台も経由した場合、下から上にReceived:フィールドがどんどん増えていくことになる
SMTPの場合はRFC2821の決まりで次のようになる。
fromのドメインからbyのドメインがviaの接続方法を使ってwithの転送方法で受け取り、区別する番号がidで、forのアドレス宛。「;」以降は受け取った日時。
このとき必須になるのは、「from」、「by」、「;日時」の3つとなる
たとえば
Received: from ml.vector.co.jp (postman3.vector.co.jp [211.13.211.47])
by server.phoenix-jp.info (8.12.8/8.12.8) with SMTP id iAR1HdZv005769
for <taka@phoenix-jp.info>; Sat, 27 Nov 2004 10:17:40 +0900
X-Delivered-To: taka@phoenix-jp.info
computer (ml.vector.co.jp [211.13.211.47])がserver.phoenix-jp.infoのメールサーバーに接続して、「taka@phoenix-jp.info」宛てへメールを送信
サーバー時計: Sat, 27 Nov 2004 10:17:40 +0900
|
| メッセージID |
送信するメール毎の番号でMessage-Id:は、メールを1通1通区別するための文字列 <20041127000002.8030.qmail@ml.vector.co.jp>
@の右は サーバー名またはコンピュータ名またはIPアドレス
Message-IDは、Microsoft Outlook Expressなどのメーラーによって送信されたメールに特有のものです |
件名(Subject:)
|
メールの主題や要旨といったものを書くフィールド
[=?iso-2022-jp?B?GyRCJVklQyUvJWsbKEI=?=:2004.11.27] =?iso-2022-jp?B?GyRCJVklLyU/ITwbKEI=?=
=?iso-2022-jp?B?GyRCJT0lVSVIPnBKcyVhITwlaxsoQg==?=
"B" encodingと"Q" encodingがISO-2022-JPのメールヘッダが化けた
この場合"B" encodingに対応していなかった為に、そのまま表示された
元に戻せば=? 文字コード ? 変換方式 ? 内容 ?=
MIME(マルチメディア・データを扱うためのファイル形式)
決まりが出来て、Subject:等のフィールドで英語以外が使えるようになる。これはASCIIの文字列に変換してしまう方法で、"B"
encodingと"Q" encodingの2種類がある
RFC2822で決められたインターネットメッセージフォーマットは、ASCIIのテキストだけを扱う。
ASCII以外の文字コードやバイナリ(音声、画像、動画等)を扱う場合は、MIMEという拡張方法を使う事になっている。
|
| From: |
From:はメールを書いた人のアドレスで、Sender:は送った人のアドレス
普通はFrom:とSender:が同じなので、Sender:の方を省略 |
| To: |
To:は送り先
Cc:はコピー(Carbon Copy)の送り先。メール自体はTo:宛だが、読んでおいて欲しい複数の人に使う。
Bcc:(Blind Carbon Copy)の送り先。ここに書いたアドレスはヘッダから消え去るので、受取人は誰が受け取ったかわからない |
| Date: |
メールを送信した時間。例えば、「送信」ボタンを押す瞬間
必須のフィールドなので、サーバに渡すときにメールソフトが付けなければならない
27 Nov 2004 09:00:02 +0900
+0900という数字は時間帯(time zone)であり、協定世界時(UTC)との時差
日本からだと+0900で、緯度ゼロの地域からだと+0000。地域に関係なく世界時(UT)のままで表したいときは-0000 |
メーラ(Mailer)
|
例)
X-Mailer: Microsoft Outlook Express 5.50.4133.2400 |
メッセージ本文の種類(Content-Type)
|
メッセージ本文の種類。通常のテキストでは「text/plain」。 Content-Type: text/plain;
charset="ISO-2022-JP"
text/plain(テキストメール)
iso-2022-jp(日本語) |
| In-Reply-To: と References: |
RFC2822で定義。
この2つは返信のときに付けるべきもの。元のメールのMessage-Id:を引用することで、どのメールへの返信かを表す。
普通、メールソフトで返信メールを書けば自動的に付く
In-Reply-To:は、直接の元メールのMessage-Id:を付ける。複数の元メールに返信するときは、それらのMessage-Id:を全部付ける
References:は、元メールのReferences:とMessage-Id:の中身を全部つける。
元メールにReferences:がなかったら、In-Reply-To:とMessage-Id:の中身を全部付ける。
だから、何度もメールをやり取りするとどんどん増える |
| Reply-To: |
Reply-To:は返信先のアドレスであり、From:とは別のアドレスに返信して欲しいときに使います |
| Resent- |
再送(resent)のためのフィールド
ユーザが一度受け取ったメールを、そのまんま他に送った事を示す
多くのソフトは転送(forward)の機能を持っていますが、ヘッダフィールドは新しく作る。Subject:に「Fw: 」とか「転送:」とかの文字を付け加える
|