MIME (Multipurpose Internet Mail Extensions) は、SMTP など 7 ビット ASCII 文字のみをサポートするプロトコルを介して非 ASCII 形式の転送を可能にする通信標準です。
非 ASCII 形式には次のものが含まれます。
MIME では、非 ASCII 形式をエンコードするためのさまざまな方法が定義されています。したがって、非 ASCII 形式を、7 ビット ASCII 文字セットの文字を使用して表すことができます。
MIME は、次の情報を含む追加の電子メール ヘッダーも定義します。
最終的な MIME メッセージは転送後に "デコード" または "再エンコード" できます。「再エンコード」と呼ぶ理由は、MIME メッセージは元のメッセージとは異なる文字セットに変換できるからです。
以下のセクションでは、MIME メッセージの主要な概念の一部を説明します。
MIME では、MIME メッセージに関する情報を含む追加の電子メール ヘッダーがサポートされます。たとえば、ヘッダーには、ファイルのコンテンツ、使用する暗号化方式、MIME バージョン番号に関する情報が提供されます。
MIME ヘッダーには、MIME メッセージの内容の種類に関する情報を入れることができます。たとえば、ファイルに含まれるのは text/plain (テキスト/平文) であることをヘッダーに指定できます。text はタイプ、plain はサブタイプです。このタイプとサブタイプの組み合わせは、MIME の種類またはインターネット メディアの種類として知られています。
MIME メッセージには複数の MIME タイプを含めることができます。たとえば、マルチパート MIME メッセージには平文テキスト (タイプ text/plain) と HTML テキスト (タイプ text/HTML) を含めることができます。
Content-Type ヘッダーは、MIME メッセージに複数の MIME タイプが含まれることを示します。さらに boundary パラメータを使用して、各本文部分の始まりと終わりの印としてどの文字列を使用するかを示します。例:Content-Type:multipart/mixed; boundary=gc0y0pkb9ex
各本文部分は独自のデータ タイプを持ちます。たとえば、本文部分が平文の場合は次のように定義できます。Content-type:text/plain; charset=us-asciib>
MIME メッセージの本文の内容が大きすぎてメール転送システム経由で渡すことができない場合、その本文を複数の小さな MIME メッセージとして渡すことができます。これらの MIME メッセージは、送信されるメッセージ全体の一部のみを含んでいるため "分割 MIME メッセージ" と呼ばれます。
各分割 MIME メッセージには次のものがあります。
MIME メッセージの本文には、データを含める代わりに、コンテンツへの参照を含めることができます。
MIME メッセージの本文または本文部分のコンテンツ タイプは、[メッセージ/外部本文] です。