2011年03月06日

MIME再び #3: 電子メールのヘッダー

あまり時間が取れないので少しだけ、全然MIMEではない。
電子メールのヘッダーのフィールドは分け方、というより性質は切り口によっていくつかある。
  • 電子メールのメッセージに必須なものであるか、そうでないか。
  • 電子メールのメッセージに1つだけ存在できるか、複数あってもよいか。
  • ヘッダーのフィールドの値の規定があるかどうか。
今回取り上げるのは最後の項目で、厳密には値に規定の存在しないヘッダーのフィールドは存在しないが、その構造の制約が大きい構造化ヘッダーと、そうでない非構造化ヘッダーがある。と、ここで大枠から入ると、Internetの電子メールのメッセージの構造は、
  1. 行単位のテキストをベースとしたものが元々は基本である。
  2. メッセージはCR(0x0d)とLF(0x0a)の2つの連続したオクテットを改行文字とする。
  3. 1行の長さはSMTP(RFC5321)は改行の2オクテットを含めて1000オクテット、US-ASCIIで文字だけ数えると998オクテットが最大である。
    (これはSMTPのDATAコマンドでメッセージを送るときの制限で、SMTPの通常のコマンドは512オクテットまでである。)
  4. 1行の長さは電子メールの形式の規定(RFC5322)ではSMTPの制限を必須としているが、この他に78オクテットを超えるべきではないという規定もある。
そしてメッセージの中身は、
  1. ヘッダーとボディを空行、つまり改行だけの行で区切っている。
  2. ボディの構造は行長の制限以外は規定していない。
  3. ヘッダーは複数のフィールドから構成されている。フィールドは名前と値をコロン(:)で区切っている。
  4. フィールドの値が長くなる場合は、次の行を空白(スペースやタブ)で始めて継続行とできる。この場合、前の行の改行から継続行の先頭の空白までは1つのスペースと等価として扱われる。
そして各ヘッダーのフィールドは、
  • 構造が比較的きっちり決まった構造化ヘッダー
  • 比較的自由で継続行の約束事だけ必要な非構造化ヘッダー
に分類される。(ちょっとヘッダーとフィールドの用語の扱いがゴチャゴチャしてるな。まぁ、本筋ではないということで。)
posted by Takahiro Kambe at 11:02| 京都 ☁| Comment(0) | TrackBack(0) | Contao | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。