.Water-Sunlight
.サイトメニュー
.検索
.オンライン状況
登録ユーザ: 0
ゲスト: 5
.
<< Prev
メール送信
« INDEX »
PHP WEB要素編
Next >>
日本語とMIME
作成日:2006/05/25

2H.2 MIME

 MIME(Multipurpose Internet Mail Extensions) とはテキスト形式のメールメッセージ( RFC822 )を利用して 多様な形式のデータ(日本語メールや画像データ)を送信する為の仕様です。 メールのヘッダー部にMIMEで規定しているメディアタイプに関する情報を書き込み、 実際のデータはメールのボディ部に格納します。 ボディ部に格納されるデータは基本的には7ビットデータです。 また、マルチパート(multipart)メディアタイプを使用する事でメールにファイルを添付して送信する事が可能になります。

例:日本語のメール
差出人:送信元 <y2sunlight@sample.ne.jp>
宛 先:送信先 <info@y2sunlight.com>
件 名:こんにちは
内 容:こんにちは
    ご機嫌いかがですか?
< メール メッセージ >
Return-Path: <y2sunlight@sample.ne.jp>
Delivered-To: m05075511-info@y2sunlight.com
Received: (qmail 4893 invoked by uid 48); 27 Jul 2005 13:48:05 +0900
Date: 27 Jul 2005 13:48:05 +0900
Message-ID: <20050727044805.4892.qmail@sample.jp>
Subject: =?ISO-2022-JP?B?GyRCJDMkcyRLJEEkTxsoQg==?=
To: =?ISO-2022-JP?B?GyRCQXc/LkBoGyhC?= <info@y2sunlight.com>
From: =?ISO-2022-JP?B?GyRCQXc/Ljg1GyhC?= <y2sunlight@sample.ne.jp>
X-Mailer: PHP/4.3.10
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

^[$B$3$s$K$A$O^[(B
^[$B$45!7y$$$+$,$G$9$+!)^[(B


MIME関連ヘッダー
フィールド名形式 / 説明
MIME-Version
MIME-Version: パージョン番号

MIMEのバージョン番号を示します(現時点では1.0しか存在しません)。

Content-Type
Content-Type: タイプ/サブタイプ[; charset=文字コード などのパラメータ]

「メディアタイプ」と呼ばれるMIMEヘッダーの中核です。 ボディ部のデータ形式を示します。タイプには、次の8つが定義されいます。

タイプ説明
text一般的なテキストファイル、HTMLファイル、リッチテキストなど
applicationアプリケーションのデータファイル(ワープロや表計算ソフトなど)
image画像ファイル(GIFやJPEGなど)
audio音声ファイル(WAVEやAUなど)
video動画ファイル(MPEGやQuickTimeなど)
modelグラフィックスのオブジェクト・データ
messageメールメッセージ(ボディに別のメールメッセージを含む場合に使用します)
multipartマルチパート型メッセージ(メールにファイルを添付する場合に使用します)

サブタイプは、IANA( nternet Assigned Number Authority )が登録と管理を行っており、 アプリケーション用にいろいろなベンダーが登録しています。 また、各タイプ/サブタイプ毎にパラメータが決まっている事があります。 例えば、text/plain <>(通常のテキスト)ではパラメータとして文字コードを指定できます。

text/plain; charset=文字コード
Content-Transfer-Encoding
Content-Transfer-Encoding: エンコード方法

ボディ部に格納されるデータのエンコード方法を指定します。以下の方法が規定されています。

エンコード方法説明
7bitテキストコード(7ビット)
8bitテキストコード(8ビット)
binaryバイナリデータ(8ビット)
quoted-printableQuoted Printable形式データ(7ビット)
base64Base64形式データ(7ビット)

8bits と binaryが定義されていますが、実際に広く使用されているエンコード方法は、7bitとbase64です。 quoted-printableについては以下の補足を、 base64については「2A.HTTP/HTML URL関数」を参照して下さい。

Content-Description
Content-Description: コメント

ボディ部に含まれるデータのコメントを表します。

Content-Disposition
Content-Disposition: inline|attachment [;filename=ファイル名]

通常、ボディ部に含まれるファイルなどの属性を指定します。 inlineはファイルの内容をメール本文と共に表示する事を指定します。 attachment は添付ファイルとして扱う事を指定します。これらの指定に強制力はなく、 送信側の意図を伝えているにすぎません。

filenameパラメータは送信側のオリジナルの添付ファイル名を表します。



補足:quoted-printableエンコード

 多くの日本語を含む通常のデータでは quoted-printable エンコードは Base64 に比べて非効率です。 従って、Quoted Printable は日本ではあまり使われません。

エンコード方法は以下のようになります。

  1. 以下の文字はそのままASCIIコードとして送信します。
    • イコール(0x3D) を除く文字コード(0x21〜0x5E、0x60〜0x7E)
    • 空白(0x20) と 水平タブ(0x09)
  2. それ以外のコードは次の形式で送信します
    = 16進表記数値

quoted-printableの例
変換前変換後
Hello! <CR><LF> Hellow=21=0A=0D
こんにちは =1B=24B=24=33=24s=24K=24A=24O=1B=28B
※ 上例「こんにちは」はISO-2022-JP でエンコードしています。 前後には Kin,Kout として <ESC>$B,<ESC>(B が入っています。
<< Prev
メール送信
« INDEX »>
Page Top
Next >>
日本語とMIME

.