MIMEとは
Multipurpose Internet Mail Extension ( 多目的インターネットメール拡張 )は、規格上 US-ASCII の テキスト しか使用できない インターネット の 電子メール でさまざまなフォーマット(書式)を扱えるようにする規格である。通常は MIME (マイム)と略される。RFC 2045, RFC 2046, RFC 2047, RFC 4288, RFC 4289, 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パートヘッダはマルチパートメッセージの各部分に適用される。
また、 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 には、"text"(テキスト), "image"(画像), "audio"(音声), "video"(動画), "application"(アプリケーションプログラム固有のフォーマット)などを指定して、データそのものの型を指定できる他、"message", "multipart"を指定することで、1つのMIMEメッセージの中にさらに別のMIMEメッセージを指定することもできる。
subtype には、 type の詳細な形式を指定する。以下のようなものがよく使われる。






