Multipurpose_Internet_Mail_Extension
[Wikipedia|▼Menu]

Multipurpose Internet Mail Extension(多目的インターネットメール拡張)は、規格上US-ASCIIテキストしか使用できないインターネット電子メールでさまざまなフォーマット(書式)を扱えるようにする規格である。通常はMIME(マイム)と略される。.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}RFC 2045、RFC 2046、RFC 2047、RFC 4288、RFC 4289[1]RFC 2049 で規定されている。
概要

インターネットでメールの書式を定めている RFC 5322 (旧 RFC 822、RFC 2822)では、英数字といくつかの記号を7 ビットで表現する「US-ASCII」と呼ばれる文字コードを利用し、1行あたり1000 バイト(改行を含む)のテキストデータしか許していない。そのため、規格に不適合になるような長い行、US-ASCIIだけで表現できない文字や、バイナリデータ画像音声などの非文字データを利用することができなかった。

MIMEはこれらのデータを取り扱うために新しくいくつかのヘッダを定義し、かつUS-ASCII上でさまざまなデータタイプを表現するための符号化方式を規定している。

RFC 5322 (旧 RFC 822、RFC 2822)では1 通のメールで1つの本文しか扱うことができないが、MIMEでは本文を分割して複数のコンテンツを扱うことができるようにした。これをマルチパートと呼ぶ。MIMEヘッダには、MIMEメッセージヘッダとMIMEパートヘッダの二つがある。MIMEメッセージヘッダはメッセージ全体に適用され、MIMEパートヘッダはマルチパートメッセージの各部分に適用される。マルチパートにより、1つのメールに複数の種類のファイルを扱うことができるようになった。

また、HTTPにおけるデータの伝送に関しても、MIMEの枠組みが援用されている。
MIMEで導入されたヘッダ
MIME-Version

従来のRFC 5322 (RFC 822, RFC 2822) 準拠のメッセージとの区別、あるいは将来MIMEが拡張されたときにバージョンを区別するためのヘッダ。現在は1.0のみが規定されている。Mime-Version: 1.0
Content-Type「メディアタイプ」も参照

このメッセージ中のデータの種類を指定する。一般的な書式は次の通り。Content-Type: type/subtype; parameter

typeは大分類となるデータの種類を指定する。subtypeにはより詳細な形式を指定する。parameterは追加の情報を指定するもので、複数指定できる。電子メールメッセージにおいて使われる例を以下に示す。

text/plain; charset=iso-2022-jp; format=flowed; delsp=yes(プレーンテキストISO-2022-JPRFC 3676 で規定されるflowedおよびdelspの文字列折り返し処理を適用)

text/html; charset=UTF-8(HTMLテキスト、UTF-8

multipart/alternative(HTMLメールにおいて、HTMLによるメッセージと同等のプレーンテキストによるメッセージを用意する場合のように、同じ情報を異なる形式で表したマルチパート)

type毎に未知のsubtypeの扱いが規定されており、受信側は自分の扱えないsubtypeであっても最低限の取り扱いが可能となる。text の場合は text/plain、application/octet-stream、multipart の場合は multipart/mixed である。application、image、audio、videoなどは、未知のsubtypeについてapplication/octet-streamとして扱うよう規定している。
Content-Transfer-Encoding

MIMEではUS-ASCIIだけでなくデータのさまざまな符号化方法の指定がこのヘッダで可能になっている。書式は以下の通り。Content-Transfer-Encoding: mechanism

mechanismとして、7bit、8bit、binary、quoted-printable、base64 が指定できる。一般的に利用できるのは 7bit、quoted-printable、base64 であり、8bit、binary は一定の条件を満たす場合しか利用できない。
7bit

デフォルト値。7 ビットのテキストを表す。Content-Transfer-Encoding ヘッダフィールドを省略した場合は、この 7bit を指定したのと同じ意味となる。US-ASCIIやISO-2022-JPは確実に7 ビットのテキストであるため、これにあたる。
8bit

8 ビットのテキストを表す。RFC 5322 (旧RFC 822、RFC 2822)は7 ビットのテキストを前提としており、この8bitは意図的に違反するものである。メールを転送するためのSMTPは基本的に7 ビットのテキストしか転送できないため、このエンコーディングを用いることはできない。RFC 1652で定義されるSMTPの拡張(ESMTP)の8BITMIMEを用いるか、8 ビットを許容するような全く別のプロトコルを用いた場合のみ、利用が可能である。
binary

データがテキストではなくバイナリであることを表す。RFC 5322 (旧RFC 822、RFC 2822)はテキストを前提としており、このbinaryは意図的に違反するものである。SMTPは基本的に行単位でデータを扱うため、行の概念すらないバイナリは転送できない。RFC 3030で定義されるESMTPの1つであるBINARYMIMEを用いるか、バイナリを許容するような全く別のプロトコルを用いた場合のみ、利用が可能である。
quoted-printable

US-ASCIIに存在する文字はそのまま使い、存在しない文字などを =HHのような形で符号化する。ここで、HH には文字のコードを大文字の16進数で指定する。その他、以下のような規則がある。

= 自体は =3D となる。

行末に空白がある場合、伝送の過程で失われるおそれがあるため、=20 としてこれを保存する。

エンコードの過程で行を折り返す(改行を挿入する)場合、= と改行の組み合わせを挿入し、もともとあった改行と区別できるようにする。

ヨーロッパ系の言語では、多くの文字がUS-ASCIIと同一で一部に独自の文字を使っているものが多い。この場合に quoted-printable を用いると、US-ASCIIはそのままの文字を使用しているので、データがほとんど大きくならず、quoted-pritable 対応プログラムを使わなくても、大体の内容が読めるという利点がある。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:17 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef