変換チャネルは MIME (Multipurpose Internet Mail Extension) ヘッダー行を幅広く利用します。このため、メッセージ構築と MIME ヘッダーフィールドに関する知識が必要です。MIME の詳細については、RFC 1806、2045 〜 2049、2183 を参照してください。ここでは、MIME について簡単に説明します。
メッセージは基本的にヘッダーと本文で構成されています。ヘッダーはメッセージの最初にあり、日付、件名、差出人、受取人など、一定の制御情報を含んでいます。ヘッダーの後ろに空白行が入り、その後ろはすべて本文です。MIME では、複数の本文部分を持つさらに複雑なメッセージを作成する方法を指定します。本文部分を入れ子にすることもできます。このようなメッセージは複数部分メッセージと呼ばれ、すでに説明したように、メッセージの本文部分ごとに変換チャネルで変換されます。
MIME 仕様では、本文部分のヘッダー行が定義されています。ヘッダー行には、MIME-Version、Content-type、Content-Transfer-Encoding、Content-ID、および Content-disposition があります。変換チャネルでよく使用されるヘッダーは Content-type と Content-disposition です。次に MIME ヘッダー行の例を示します。
Content-type: APPLICATION/wordperfect5.1;name=Poem.wpc Content-transfer-encoding: BASE64 Content-disposition: attachment; filename=Poem.wpc Content-description: "Project documentation Draft1 wordperfect format" |
MIME ヘッダー行は、一般の MIME 以外のヘッダー行 (To:、Subject:、From: など) とは異なります。基本的に、変換チャネルの場合、MIME ヘッダー行は Content- という文字列で始まっています。
MIME Content-Type ヘッダーは本文部分の内容を表します。Content-Type ヘッダー形式と実際の例を次に示します。
Content-type: type/ subtype; parameter1=value; parameter2=value...
type は本文部分の内容の種類を表します。種類には、Text、Multipart、Message、Application、Image、 Audio、Video などがあります。
subtype は コンテンツタイプをさらに詳しくしたものです。Content-type にはそれぞれ独自のサブタイプがあります。たとえば、次のようなものがあります。text/plain 、application/octet-stream、image/jpeg。MIME メールの Content Subtype は IANA (Internet Assigned Numbers Authority) で割り当てられ、一覧表示されています。割り当て一覧は、http://www.iana.org/assignments/media-types で参照することができます。
parameter は Content-type/subtype の組み合わせに固有のものです。たとえば、charset および name パラメータは次のようになります。
Content-type: text/plain; charset=us-ascii Content-type: application/msword; name=temp.doc |
charset パラメータでは、テキスト形式メッセージの文字セットを指定します。name パラメータでは、データをファイルに書き込む場合に使用するファイル名を指定します。
Content-Type 値、subtypes、およびパラメータ名では大文字と小文字が区別されます。
MIME Content-disposition ヘッダーで本文部分のプレゼンテーション情報がわかります。通常、添付ファイルに追加され、添付ファイルの本文部分を表示するのか (inline)、コピーするファイル名として表示するのか (attachment) を指定します。Content-disposition ヘッダーの形式は次のとおりです。
Content-disposition: disposition_type; parameter1=value;parameter2=value...
disposition_type は通常 inline (本文部分を表示) または attachment (保存ファイルとして表示) です。attachment には通常パラメータ filename があり、ここでファイル保存で推奨される名前を指定します。
Content-disposition ヘッダーの詳細については、RFC 2183 を参照してください。