MIME
読み:マイム
外語:MIME: Multipurpose Internet Mail Extensions encoding

 多目的インターネットメール拡張。電子メールを多目的に使うための拡張方法の標準。
目次

概要
 インターネットでのメールは、様々な事情から7ビット文字コードでしか転送できない(例えばASCII)。
 また一行の文字数制限などもある(RFC 821(SMTP)で一行1000文字以内に制限)。
 従って、漢字文字を含む文章や、バイナリファイルデータ(8ビットで構成される)などを転送する場合、改行のない長文を送信する場合には、ある手順を用いて転送可能な状態に変換し、受信側ではそれを再び元の状態に戻すための手順が必要になる。
 従来は様々な方法が使われていたが、MIMEはその手順の一つで、多くのMUA(メールソフト)が対応している事実上の標準である。
 また電子メールを発展させたネットニューズ等でも、日本語文書の送信や画像ファイルの添付に便利なため、この仕様をそのまま利用している。

特徴
 従来は標準的な方法がなかったため、日本ならISH、アメリカならuuencode/uudecodeを使って手作業で変換しメール本文とし、受信側はそれを同様に手作業で元に戻して使うという面倒なことをしていた。
 MIMEは、一つのメールを複数のパート(部分)に区切り、各パートに文章以外のものを格納するための統一的な手法を提案し、これによって様々なものを全自動でメールに加えられるようにした。
 初めてMIMEを使用した添付ファイルが送信されたのは1982(昭和57)年3月11日とされる。この日、MIMEの開発者であるNathaniel S. Borensteinが最初に電子メールに添付して送信したファイルは、Borensteinを含むベル通信研究所のメンバー4人で結成した男声カルテット「Telephone Chords」の写真と、「Let me call you sweetheart」の替え歌「Let me send you e-mail」だったとしている。
 最初のMIMEの規格ではContent-Typeは16種類だったが、2012(平成24)年2月までに1,309種類に増加している。

仕様

一覧
 MIMEは巨大な規格であり、RFC 2045〜2049でパート1〜5に分割されて規定されている。パート1〜5はそれぞれ、次のようになっている。
 パート4のRFC 2048は、後にRFC 4289に置き換えられた。

媒体型
 MIMEパート2では、添付されるファイルの種類を表わす媒体型という規定がある。
 これは大分類(MIMEタイプ)と、その中での細分類(サブタイプ)という二段階の命名がなされているのが特徴で、大分類を見ればデータの種類が概ね分かるようになっている。
 具体的にはMIMEタイプ/サブタイプ、のように記述し、text/plainimage/pngのように使われる。この手法により、そのデータを扱うソフトウェアがその形式に対応していなくても、画像ファイルなら画像、文書ファイルなら文書といったような、大体必要そうな処理が実現できることになる。

非ASCII文書メッセージ
 MIMEパート3では、ASCII以外の文字集合の使い方が規定されている。
 具体的には、
 =? 文字符号化方法(CES) ? 変換方式 ? 内容 ?=
 という形式で記述する。
 例えば、
 =?ISO-2022-JP?B?GyRCJCwkOSRrGyhC?=
 のようになる。
 日本語で件名(Subject)や送受信者名(From/To等)を書く場合は、この方法を用いることになる。この例では変換方式はBエンコード(base64)だが、他にQエンコード(Quoted-Printable)も利用できる。

更なる拡張
 RFC 2231で、更に言語名を記述する拡張方法が標準化されている。
 全く普及していない上に、対応していないソフトウェアでは誤動作するという、実に困った仕様である。
 具体的には
 =?ISO-2022-JP*JA?B?GyRCJCwkOSRrGyhC?=
 のように書き、文字符号化方法(CES)と言語名の間を * で区切る。

主な応用

再検索